A man named John was trying to find gold. He went to an island where every inhabitant is either a knight or a liar. He met three inhabitants, A, B, and C. A and B made these statements.
A:We are all liars.
B:There is gold on this island.
Then, he asked one of them, "Is it true that you are a knight and there is no gold on this island?" The inhabitant answered, and he could not figure out if there was gold on the island. Then, one of the inhabitants either said that A was a liar or said that B was a liar, and John knew if there was gold on the island.
There is not enough information yet for you to figure out if there is gold on the island. However, if I told you whether the last inhabitant said that A was a liar or said that B was a liar, without telling you which inhabitant said it, then you would be able to figure out if there is gold on the island. Who did the last inhabitant say was a liar, and is there gold on the island?
Note that A can't be a knight, since then his statement "we are all liars" would not be true. So A must be a liar, and at least one (other) inhabitant must be a knight.
Next, consider the possibilities for the question "Is it true you are a knight and there is no gold on the island?" B claims there is gold on the island, so if there is no gold, B must be a liar (and would thus answer "Yes"); if there was gold, B must be a knight (and would thus answer "No".) Since B's response would be a giveaway either way, B must not have responded.
Of the other two inhabitants, if the inhabitant he asked was a knight, the knight would say "Yes" if there was no gold, and "No" if there was gold. A liar would always say "Yes" (since he isn't a knight regardless).
Thus, we know the inhabitant responded "Yes" to the first question, as a response of "No" could only happen if the inhabitant were a knight and there was gold on the island, thus implying there was gold on the island.
For the second statement, the statement "A is a liar" is true, and thus if an inhabitant said this, he must be a knight. If B said this, then his first statement is true  there is gold on the island. If C said this, he's a knight; if responded to the first question, the response of "Yes" implies there is no gold on the island  otherwise there is not enough information.
The statement "B is a liar" can't be made by B. If A said it, it must not be true, so B is a knight, and thus there is gold on the island. If C said it, he would claim there is no gold on the island, and we know A is a liar. Because of this, the first question gives no additional information, as both A and C would answer "Yes" if there was gold or no gold, thus there is not enough information.
We know there was enough information for the explorer to solve the problem at that point, so we know none of the situations above which led to not enough information couldn't have happened.
If we are simply told "someone said A is a liar", then there would be gold if B said it, and no gold if C said it (and responded to the first question). Since we would need to know who said it to conclude if there was gold or not, then this must not be what the inhabitant said. Instead, if we are told "someone said B is a liar", then we know A said it and thus there must be gold on the island. This is the only possible case, since if C said it the explorer wouldn't have been able to figure out if there was gold on the island.
Thus, A is a liar (and made the second statement, "B is a liar")
B is knight (and didn't make the first statement)
C is a liar if he made the first statement, and unknown otherwise.

Posted by Gamer
on 20110126 00:25:50 