July 16
Now lets examine what Albert and Bernard say. Albert goes first:
I dont know when your birthday is, but I know Bernard doesnt know, either.
The first half of the sentence is obvious Albert only knows the month, but not the day but the second half is the first critical clue.
The initial reaction is, how could Bernard know? Cheryl only whispered the day, so how could he have more information than Albert? But if Cheryl had whispered 19, then Bernard would indeed know the exact date May 19 because there is only one date with 19 in it. Similarly, if Cheryl had told Bernard, 18, then Bernard would know Cheryls birthday was June 18.
Thus, for this statement by Albert to be true means that Cheryl did not say to Albert, May or June. (Again, for logic puzzles, the possibility that Albert is lying or confused is off the table.) Then Bernard replies:
I didnt know originally, but now I do.
So from Alberts statement, Bernard now also knows that Cheryls birthday is not in May or June, eliminating half of the possibilities, leaving July 14, July 16, Aug. 14, Aug. 15 and Aug. 17. But Bernard now knows. If Cheryl had told him 14, he would not know, because there would still be two possibilities: July 14 and Aug. 14. Thus we know the day is not the 14th.
Now there are only three possibilities left: July 16, Aug. 15 and Aug. 17. Albert again:
Well, now I know too!
The same logical process again: For Albert to know, the month has to be July, because if Cheryl had told him, August, then he would still have two possibilities: Aug. 15 and Aug. 17.
The answer is July 16.