Spoiler Alert: I WILL reveal the answer in this post, so stop reading when I say stop if you'd prefer to figure it out on your own.
The riddle:
Albert and Bernard just met Cheryl. “When’s your birthday?” Albert asked Cheryl.
Cheryl thought a second and said, “I’m not going to tell you, but I’ll give you some clues.” She wrote down a list of 10 dates:
May 15 — May 16 — May 19
June 17 — June 18
July 14 — July 16
August 14 — August 15 — August 17
“My birthday is one of these,” she said.
Then Cheryl whispered in Albert’s ear the month — and only the month — of her birthday. To Bernard, she whispered the day, and only the day.
“Can you figure it out now?” she asked Albert.
Albert: I don’t know when your birthday is, but I know Bernard doesn’t know, either.
Bernard: I didn’t know originally, but now I do.
Albert: Well, now I know, too!
When is Cheryl’s birthday?
Answer below:
No, seriously, stop reading.
I mean it.
Look, here's a line indicating where you should stop:
=============================================================================================
Ok, so the answer is ... 42.
Sorry, wrong question.
Ok, here it goes. The key to solving this riddle is remembering that you are NOT one of the characters here. The characters both know something. You don't.
And the basic logic behind this is "in order for A to be true, B must be true." You just have to figure out what B is.
Hit each clue with the above in mind.
Albert knows the month. So when he says "I don't know her birthday," your reaction should be "no duh." The month is not enough information. But he also says "I KNOW Bernard doesn't know it either." In order for that to be true, Albert must have been given a month where all the available dates repeat somewhere. For example, if Bernard were given the number 19, that would be enough to know the date (May 19). How does Albert know Bernard was NOT given the number 19? Because he was not given a month with the number 19 in it. Same logic applies to June 18. Albert had to have been given a month without an 18.
So Albert was given either July or August. All the dates in those months repeat elsewhere.
Bernard just figured out what you and I just figured out. It's not May or June. It must be July or August. Suddenly, Bernard knows the date!
In order for Bernard to know the date, he had to have been given a number that does not repeat in July and August. That rules out the 14th.
Now, here's where it gets tricky: You and I have just narrowed down the answer to July 16, August 15 and August 17. And we have no way of narrowing that down.
But then Albert helps us by saying he knows the answer, too.
How?
In order for Albert to know the answer (July 16, August 15 or August 17), he would have to have ruled out two possibilities. How could he? Because Albert already knows the month. The FACT that it's July rules out the possibility that it's either date in August. If Albert were given August, he still would not know the answer.
It's July 16.
Knowing it's July 16, you can look back at the problem and it makes a little bit more sense. Albert knows that Bernard doesn't have enough information. All Albert needs is for Bernard to reveal whether he had a 14 or a 16 (the July numbers). If Bernard had not known the answer, Albert would have deduced it was July 14. But since Bernard DID know the answer, Albert could deduce it was July 16.
The end.