A is 10 and C is 5. The situation above, in which A doesn’t know his own number but B knows his after learning this, occurs if and only if (1) A and C have the same number or (2) A = 2C and B = 3C.

Here’s the proof. If A and C have the same number, *x*, then B’s number must be 2*x*. Knowing this, A can conclude only that his own number must be either *x* or 3*x*, so he’ll declare that he doesn’t know his own number. B will see that both A and C bear the number *x* and declare that his own number is 2*x*.

That takes care of (1). For (2), suppose that C’s number is *x*, A’s number is 2*x*, and B’s number is 3*x*. A can conclude only that his own number is either 2*x* or 4*x*, so he declares that he doesn’t know his own number. B can see that his own number must be *x* or 3*x*, but he realizes that he can eliminate *x* since, if that were the case, A would have seen two *x*‘s and could have concluded that his own number was 2*x*.

So that shows that in cases (1) and (2) A and B will make the declarations presented in the puzzle statement. Now we have to show that these are the only cases that produce these two responses. So consider the three possibilities where A, then C, then B is the sum of the other two.

(i) Here suppose C’s number is *x*, A’s is *x* + *y*, and B’s is *y*. If *y* = *x*, then A will see this and can conclude that his own number is 2*x*. If *y* ≠ *x* then A can’t know his own number. B knows that his own number must be either *y* or 2*x* + *y*. Neither of these numbers equals *x*, so both possibilities are consistent with A’s response, and B can’t know his number.

(ii) Suppose C’s number is *x* + *y*, A’s is *x*, and B’s is *y*. A can’t tell whether his own number is *x* or *x* + 2*y* and so responds negatively. B knows that his number is either *y* or 2*x* + *y*. Neither number equals *x* + *y*, so B can’t eliminate either possibility and can’t know his own number.

(iii) Here C’s number is *x*, A’s is *y*, B’s is *x* + *y*, and we know that *x* ≠ *y* (the case where *x* = *y* is covered under (1) above). So there are two possibilities:

— If *x* > *y* then A responds negatively and B concludes that his own number must be either *x* + *x* or *x* – *y*. Neither of these possibilities equals *x*, so B can’t eliminate either one.

— If *x* < *y* then A responds negatively and B concludes that his own number must be either *x* + *y* or *y* – *x*. Since *x* + *y* ≠ *x*, he can’t eliminate *x* + *y*. But he can eliminate *y* – *x* when *y* – *x* = *x*; that is, when *y* = 2*x*. This is (2) above, proving the claim.

In this particular case we know that (1) is impossible since B claimed the number 15, an odd number. So (2) must be the case, and 3*x* = 15.