At first, after reading the statements by Albert and Bernard, I found it funny and I thought 'how on earth!? Then I should know it too'.
Before solving this, lets see what do we have. We have 3 people - actually 4 - Cheryl, Albert, Bernard and fourth being anyone who is looking to solve this problem. Let's take the fourth one as 'ME' and imagine if the 4 friends were trying to figure this out.
Cheryl being the one who put forward the question should be voted out of the group me says!So we are 3 now, Albert who knows the month, Bernard who knows the date and me who knows nothing and is just looking at the question and thinking what are Albert and Bernard thinking! Suddenly when we are just talking about 'why didnt she just say the bloody thing straight forward', Albert comes up with this Albert: "I don't know when is Cheryl's birthday, but I know that Bernard does not know too."
Now you guys, think about the predicament that me and Bernard are in.Me:"How can you say that?"
Bernard was thinking the same and more.Bernard: "How could you possibly know what I know and dont know? How can you say I don't know the birthday for sure?" .
"All you have is a month!".
Me: "Ok, lets take the months one by one".
"Lets take May first. You are saying I dont know the birthday for sure are you? Ok, If she said May to you, she has a choice of 3 dates to say to me."
Me: "So Albert, you have to be so sure that Bernard will not be able to find the birthday from ALL 3 of those dates."
Bernard: "If she had said 15 to me, I would not possibly find the answer as there is an August 15 as well."
Me: "If its 16, there is a June 16, so Bernard wouldn't know. So far so good."
Bernard: "If its 19, yeah Albert, I would find out that the birthday is May 19 if she had said 19 to me and May to you."
Me: "So its not the case that Bernard is not able to find the birthday from ALL 3 of those dates in May"
Bernard: "So its not May which she said to you is it, because if it was you would not be so sure of me not finding the answer".
Now, Albert is just wearing that worrying smile there.Me: "This is good, lets now take June."
Bernard: "Ok, June has 2 dates - 17 and 18."
Me: " Albert - same logic applies - if Cheryl said June to you, then you should be sure that Bernard would not be able to find the birthday from both 17 and 18.
Bernard: "If she had said 17 to me, I would not be able to find it as there is an August 17 as well "
Me: "But if she had said 18 to me, Bernard would know that June 18 is her birthday."
Bernard: " So its not June too, is it Albert? If it was June, you would not be so sure that I cannot find the answer from both 17 and 18."
Me: " This is very good Bernard, lets take July now which has dates 14 and 16."
Bernard: " If it was 14 there is an August 14 to. I would not know it its July or August."
Me: " If it was 16 then there is a May 16 as said earlier. So you wouldn't find it Bernard."
Bernard: " Ok, so there is a chance that she said July to him as I cant find the birthday from both 14 and 16." Me: "Hold on, there is August too."
Bernard is smiling now and Albert's smile is just fading.Bernard: "Ok, August has 3 dates - 14, 15, 17".
Me: " So Albert has to be sure that, you, Bernard would not be able to find the birthday from ALL of these three dates." Bernard: " If its 14, then there is a July 14 as well. So I can't possibly find out."
Me: " If its 15, then there is a May 15 too. At the time of him saying that you dont know, we had not yet known that its not May which she said to him. So you couldn't have found out if it was 15.
"If it was 17, then the same case, there is a June 17 and you couldn't possibly have found out as we didn't know at the time he said that it was not June. "
Bernard: " So Albert, there is a chance that she said August to you as well as I would not have been able to find out the birthday from ALL 3 of those dates."
But I had a feeling that Bernard was just playing with us. Albert had a vexed posture. Suddenly, Bernard came up with this.Bernard: "At first I didn't know when Cheryl's birthday is but I know now."
I was stunned. Bernard who was thinking with me has just gone a step ahead and said he knows! How could he? Albert was smiling now too! So I had no choice but to ask Albert,Me: " Albert, why are you smiling"?
Albert: "Come on, now let's think this together."
Me: "Yeah, but how could he know? We only found out two possible months. July or August."
Albert: " He knew the date you silly. Now lets take the dates. 14, 15, 16 and 17."
I was feeling smart earlier, deciphering Albert's statement, but now here he was helping me! But it helped and I was getting onto something.Me: " There is only one date which is repeating - 14. So if she had said 14 to Bernard, he couldn't have still found out as it could have been July or August 14."
Albert: " Yeah, So it has to be either one of Aug 15, July 16 or Aug 17."
And, suddenly, as I was thinking it through,Albert: " Then I also know when Cheryl's birthday is."
I had a sinking feeling. Now they were both laughing and would be impressing Cheryl. I had to find this out.Me: " Albert, there are 3 options now for you. July 16, Aug 15 or Aug 17. You only know the month. So to find out the answer by yourself, out of these three options the non repeating month has to be the one which you know."
Albert: " If it was Aug, then I would still not know if it was 15 or 17."
Me: " But as its July you know its 16..."
"So its JULY 16, isn't it you two? That's when her birthday is!"