Guess Who is the apple thief ?? At the end of class, My mathematics teacher gave us an interesting problem Which is as follow:

Out of six boys exactly two were known to have been stealing apples.
Harry said:Charlie and George.
Donald said:Tom and Charlie
James said:Donald and Tom.
George said:Harry and Charlie.
Charlie said:Donald and James.
Tom couldn't be found.
Four of the five boys interrogated had named one of the miscreants correctly and lied about the other one.The fifth boy had lied outright!
Who stole the apples ??

I tried to apply the logic but failed. I thought three boys have named charlie so charlie must be one of the two, but with the same reasoning I am unable to find the other (though I think this reasoning is wrong as the boys are lying too).
I shall be thankful if you can provide a logical answer to such a great question.
 A: Charlie is obviously a good candidate to focus on first, as he is mentioned more times than anyone else. 
We can start by assuming he is innocent, as this will obviously impose strong constraints on the other choices, and see if that is possible.
If Charlie is not a thief, that means that two of George, Tom and Harry are the thieves, and that one of Harry, James and George was the one making a completely untrue statement.
However this means that James' and Charlie's statements must each contain a correct name. In particular, from Charlie's statement, one of Donald or James must be a thief, and that gives us three thieves - a contradiction of the given constraint of two thieves. So it is not possible for Charlie to be innocent. 
Charlie is one of the apple thieves; George, Tom and Harry are innocent, and either James or Charlie named two innocent boys. In particular, since both of them accused Donald, he must also  be innocent, and James must be the other apple thief.
A: If we continue along your line of reasoning. If Charlie is one of the two thieves then the second thief cannot be any of George, Tom or Harry. Else one of the boys was telling the whole truth, which we know is not true.
The only two remaining statements are from Charlie and James, out of whom we know that one lied outright. Therefore, Donald cannot be one of the boys as he is named by both boys. This leaves us with either James or Tom as the other option. 
But we have already ruled out Tom above, which means the thief must be James!
A: All five boys who are interrogated finger either Charlie or Donald as one of the thieves, with the other four boys cited at least once.  Therefore, if neither Charlie nor Donald is a thief, there would have to be three thieves among the other four boys (since only one boy lies twice).  We conclude that either Charlie or Donald is a thief, but not both (since one of the boys does lie twice, and each boy mentions either Charlie or Donald).
Now if Donald (but not Charlie) were one of the thieves, then James, who fingered Donald and Tom, would have to be lying about Tom.  This would make Donald himself the double liar, meaning that everyone else lied only once.  But that means George and Harry (who fingered each other along with Charlie) are both thieves, which is too many.  So Donald cannot be a thief, which means Charlie is.
Finally, since Charlie is cited as a thief three times, along with George, Tom, and Harry, we know that those three (plus Donald) are innocent, which leaves James as the other thief.
We conclude that the two thieves are Charlie and James.
