This is a logic puzzle for 5th grade students in Singapore, originally posted by Kennethjianwen in Facebook. One of my friends re-post the picture and it appeared in my news feed and it got my attention.

In case you read this post in a device with small screen, I re-type the question for you:

Albert and Bernard just become friends with Cheryl, and they want to know when her birthday is. Cheryl gives them a list of 10 possible dates.

15 May, 16 May, 19 May
17 June, 18 June
14 July, 16 July
14 August, 15 August, 17 August

Cheryl then tells Albert and Bernard separately the month and the day of her birthday respectively.

Albert: I don’t know when Cheryl’s birthday is, but I know that Bernard does not know too.
Bernard: At first, I don’t know when Cheryl’s birthday is, but I know now.
Albert: Then I also know when Cheryl’s birthday is.

Question: so when is Cheryl’s birthday?

This is a fairly simple logic question. There is no multiple possible answers here. Only one definite answer: 16 July. This answer has 100% certainty, it can be logically deducted from the hints given by Albert and Bernard.

I present you two different deduction styles to explain:

Deduction Style A

1. Let’s re-state the facts here. Albert knows the MONTH of Cheryl’s birthday and Bernard knows the DAY. They don’t know the other piece of information, but they both share one common knowledge: the 10 possible dates given by Cheryl.

2. In hint 1, Albert says that he knows that Bernard does not know Cheryl’s birthday after knowing the day from Cheryl. Notice that IF Cheryl’s birthday is 18 June or 19 May, then Bernard would have immediately know the entire birthday just by knowing the day. This is obviously not the case because Albert is sure that Bernard does not know. So we can safely remove 18 June and 19 May from the possibilities.

3. Now, how does Albert knows that Bernard was not told “18” or “19”? Simple. Because Albert knows the month from Cheryl and it’s not May or June. So we can conclude that Cheryl’s birthday month is either July or August. So far we have removed 15 May, 16 May, 19 May, 17 June and 18 June just by using the first hint from Albert.

4. Next, we use the second hint. Bernard says that he previously didn’t know Cheryl’s birthday, but after hearing Albert’s hint, now he knows exactly when Cheryl’s birthday is. Since Albert’s first hint helped us to removed all possible dates from May and June, it also helps Bernard. If the day given to Bernard is 14, Bernard would still have question whether Cheryl’s birthday is 14 July or 14 August. But Bernard doesn’t have this question. He knows Cheryl’s birthday after he realises that the month that Albert knows is either July or August, we can safely remove 14 July and 14 August from the possible dates.

5. At this point, we know that Bernard already knows the exact date, but we are still wondering whether it is 16 July, 15 August or 17 August. Bernard knows the date so he quickly knows. We don’t. So how do we know? We use the third hint. After hearing that Bernard now knows the date, Albert also says that he knows the date. If the month that Albert knows is August, he would not say that because he would be wondering between 15 August and 17 August. But Albert knows Cheryl’s birthday. This is only possible if the date that Cheryl told Albert was July.

6. We already removed 14 July from the list. So the only date left is 16 July. Cheryl’s birthday is 16 July.

The deduction A above should be clear enough to follow. But in case you are still confused, let me present deduction B with complete set of possibilities.

Deduction Style B

1. If the birthday is 15 May, then Albert would not know that Bernard knows Cheryl’s birthday or not. Because if Albert is told “May”, then Bernard may or may not know Cheryl’s birthday, depending whether Cheryl told Bernard “15”, “16” or “19”. If Cheryl told Bernard “15” or “16”, Bernard would not know her birthday, but if she told him “19”, Bernard would know. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 15 May is not the answer.

2. If the birthday is 16 May, then Albert would not know that Bernard knows Cheryl’s birthday or not. Because if Albert is told “May”, then Bernard may or may not know Cheryl’s birthday, depending whether Cheryl told Bernard “15”, “16” or “19”. If Cheryl told Bernard “15” or “16”, Bernard would not know her birthday, but if she told him “19”, Bernard would know. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 16 May is not the answer.

3. If the birthday is 19 May, then Albert would not know that Bernard knows Cheryl’s birthday or not. Because if Albert is told “May”, then Bernard may or may not know Cheryl’s birthday, depending whether Cheryl told Bernard “15”, “16” or “19”. If Cheryl told Bernard “15” or “16”, Bernard would not know her birthday, but if she told him “19”, Bernard would know. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, plus Bernard admits that he initially didn’t know, so 19 May is not the answer.

4. If the birthday is 17 June, then Albert would not know that Bernard knows Cheryl’s birthday or not. Because if Albert is told “June”, then Bernard may or may not know Cheryl’s birthday, depending whether Cheryl told Bernard “17” or “18”. If Cheryl told Bernard “17”, Bernard would not know her birthday, but if she told him “18”, Bernard would know. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 17 June is not the answer.

5. If the birthday is 18 June, then Albert would not know that Bernard knows Cheryl’s birthday or not. Because if Albert is told “June”, then Bernard may or may not know Cheryl’s birthday, depending whether Cheryl told Bernard “17” or “18”. If Cheryl told Bernard “17”, Bernard would not know her birthday, but if she told him “18”, Bernard would know. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, plus Bernard admits that he initially didn’t know, so 18 June is not the answer.

6. If the birthday is 14 July, then Albert would know that Bernard would not know Cheryl’s birthday. Because if Albert is told “July”, then Cheryl could told Bernard “14” or “16”. None of these numbers would give any certainty to Bernard to know Cheryl’s birthday without further clue. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 14 July could be the answer. Let’s analyse further. After hearing the first hint from Albert, Bernard now knows Chery’s birthday. If the number given to Bernard was “14”, Albert’s hint is NOT enough for Bernard to make a conclusion because he still have two possible dates: 14 July or 14 August. So 14 July is not the answer.

7. If the birthday is 14 August, then Albert would know that Bernard would not know Cheryl’s birthday. Because if Albert is told “July”, then Cheryl could told Bernard “14” or “16”. None of these numbers would give any certainty to Bernard to know Cheryl’s birthday without further clue. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 14 August could be the answer. Let’s analyse further. After hearing the first hint from Albert, Bernard now knows Chery’s birthday. If the number given to Bernard was “14”, Albert’s hint is NOT enough for Bernard to make a conclusion because he still have two possible dates: 14 July or 14 August. So 14 August is not the answer.

8. If the birthday is 15 August, then Albert would know that Bernard would not know Cheryl’s birthday. Because if Albert is told “August”, then Cheryl could told Bernard “14”, “15” or “17”. None of these numbers would give any certainty to Bernard to know Cheryl’s birthday without further clue. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 15 August could be the answer. Let’s analyse further. After hearing the first hint from Albert, Bernard now knows Chery’s birthday. If the number given to Bernard was “15”, Albert’s hint is enough for Bernard to make a conclusion. However, if this is the case, after hearing that Bernard knows Cheryl’s birthday, Albert would still not know her birthday because Albert only knows the month “August” and he still has two possible dates: 15 August or 17 August. Since in hint #3 Albert says that he now knows Chery’s birthday, so 15 August is not the answer.

9. If the birthday is 17 August, then Albert would know that Bernard would not know Cheryl’s birthday. Because if Albert is told “August”, then Cheryl could told Bernard “14”, “15” or “17”. None of these numbers would give any certainty to Bernard to know Cheryl’s birthday without further clue. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 17 August could be the answer. Let’s analyse further. After hearing the first hint from Albert, Bernard now knows Chery’s birthday. If the number given to Bernard was “17”, Albert’s hint is enough for Bernard to make a conclusion. However, if this is the case, after hearing that Bernard knows Cheryl’s birthday, Albert would still not know her birthday because Albert only knows the month “August” and he still has two possible dates: 15 August or 17 August. Since in hint #3 Albert says that he now knows Chery’s birthday, so 17 August is not the answer.

10. If the birthday is 16 July, then Albert would know that Bernard would not know Cheryl’s birthday. Because if Albert is told “July”, then Cheryl could told Bernard “14” or “16”. None of these numbers would give any certainty to Bernard to know Cheryl’s birthday without further clue. Albert knows that Bernard definitely would not know Cheryl’s birthday from knowing the day, so 16 July could be the answer. Let’s analyse further. After hearing the first hint from Albert, Bernard now knows Chery’s birthday. If the number given to Bernard was “16”, Albert’s hint is enough for Bernard to make a conclusion. If this is the case, after hearing that Bernard knows Cheryl’s birthday, Albert would know her birthday because Albert knows the month “July” and there is only one possible date left for July. Since in hint #3 Albert says that he now knows Chery’s birthday, so 16 July is the answer.

Edit: Some sources claim that the news about this question being given to 5th grade students is not correct. Still an interesting puzzle though.