There are two alleged discrepancies in these two passages: the first is the fact that 2 Sam records that David and his army killed 700 charioteers but that 1 Chr records that David and his army killed 7000 charioteers. The second alleged discrepancy is that in 2 Sam 10 the Hebrew term parashim , ie, horsemen, is used for the 40,000 that David and his army slew, whereas in 1 Chr, the Hebrew term ragli , ie footmen, is used for the 40,000 that David and his army slew. So in the first case there is a numerical divergence; the second case presents a difference in terminology.
Let us handle the first alleged discrepancy, that of 1700 vs. 7000. The most probable solution is the standard one given: a transmissional corruption in the numbers. More likely the 7000 figure in 1 Chr is correct. But is it reasonable to assume a textual corruption in 2 Sam?
Gleason Archer on page 60 of the Zondervan book Inerrancy states the well-known fact that "It is very easy to leave off or inadvertently add a `zero' when copying down a number in round figures. The ancient systems of numerical notation were susceptible to this kind of mistake, for they too used decimal notations that were as easily confused as Arabic or Roman numerals." And note that we here have a textual difference which is tantamount to the dropping (or the insertion of) an extra decimal place. There is nothing unreasonable at all in stating that it is much more likely that a transcriptional error has taken place than for an error in the autographs to go unnoticed by people for a long time. (See essay linked below.)
Now the second alleged discrepancy is the fact that the 2 Sam passage labels the 40,000 as horsemen/cavalry, whereas the 1 Chron 19 passages labels the 40,000 as footmen/infantry. Arndt's solution found on p, 39 of Does the Bible Contradict Itself?, states
With respect to the other divergence between the two passages, the one saying that David slew 40,000 horsemen , the other that he slew 40,000 footmen in this battle, a simple solution presents itself. These warriors could fight both as cavalry and as infantry, just as the occasion required. Their status was similar to that of the dragoons a century or two ago.
One Skeptic responds:
Arndt fails to realize that what they `could' fight as is irrelevant. The fact is that the text is stating what they are, in fact, fighting as not what they could be fighting as. The key word is `could'. Anybody could fight as a horseman or as a footman, even you, the reader. But the question is not what they could be fighting as, but what they are, in fact, fighting as.
The fallacy in the above reasoning is that a two-dimensional view of history is taken here. The battle was an event that occupied a linear interval of time, yet the accounts in both 2 Sam and 1 Chr present the action in a punctiliar fashion. His case would be strong if he could prove or adduce reasonable evidence for the assertion that the terms "horsemen" and "footmen" in fact apply to 40,000 at the same instance in time. But such evidence is not presented, and the Skeptic has engaged in the hidden premise that the same instance in time is being recorded.
Remember that the 40,000 were not killed at once. It is reasonable (in my opinion) to state that the perspective of the author of 2 Sam views the 40,000 with respect to an early stage of the battle -- when they were on horse, while the Chronicler views the 40,000 with respect to a later stage of the battle, when they were on foot. I personally do not see how one could call such a solution unreasonable. Ask two people about, say, yesterday's football game. Is it not reasonable to assume that person A will probably be thinking about a different point in time for yesterday's game than person B?
Moreover, what evidence is there that these terms were not interchangeable, as far as military experts were concerned, in the time of the Chronicler? The term which is the "foot" in "footmen" is found only 12 times in the OT, and it does not always have military connotations; cf: Ex. 12:37, Num. 11:21.
Perhaps another example will clarify. You are fighting in a war. You shoot down a helicopter but the pilot escapes to the ground and comes at you. You shoot the pilot dead. What (or, more accurately, Who) have you killed? Some might say that you have killed the pilot (despite the fact that he is not piloting at this instant of time). Some might say that you have killed a soldier.
Both accounts are correct: the former views the person you killed in a previous sense ("he was flying a helicopter") while the latter views the person you killed in a more immediate sense ("he was wearing a uniform and charging you on the ground"). I don't see how what is happening between 2 Sam and 1 Chr is any different here than in the two examples given.
Another possibility is that in the battle, some of the 40,000 were on horse, some were on foot. The 2 Sam author used the term "horseman" to denote the whole group, whereas the 1 Chr author used the term "footman" to denote the whole group. Again, this type of labeling is not unfaithful to idiomatic language.
It should be kept in mind that round numbers are being given here, and so it is not reasonable to suppose that exact numbers and exact titles are used here. When this is kept in mind, the problem appears to be a non-issue except for those who do not understand basic textual criticism (700 vs. 7000) principles and for those Skeptics who insist too dogmatically that the text be read in as wooden a fashion as they see fit.