Cheryl, Albert and Bernard are friends. Albert and Bernard ask Cheryl when her birthday is. Cheryl does not tell them. Instead she gives them a list of dates.

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

Then Cheryl tells Albert which month the day is in and tells Bernard which day it is.
A conversation takes place.

Albert: I don't know when Chery's birthday is, but I know that Bernard does not know too.
Bernard: At first I didn't know when Cheryl's birthday is but I know now.
Albert: Then so do I know when Cheryl's birthday is.

So, when is Cheryl's birthday?



Albert was sure Bernard didn't know the birthday, which is only possible if the month didn't have any unique dates as then there would have been a possibility of the date being unique (if it was 18 the month would obviously be June, and May for 19) Both June and May have unique dates (18 & 19 respectively).
Options left : July 14, 16; August 14, 15, 17
Bernard found the answer when he came to this conclusion (of possibilities July 14, 16; August 14, 15, 17) after hearing Albert speak. Therefore, the date was not 14, because if it had been 14 the month could have been any of the bone.
Options left : July 16, August 15, 17.
Albert got to know the answer after Bernard, so even he reached the same conclusion. He knew the month. If the month had been August, the date could either have been either 15 or 17. However the month must have been July, only the a definite date would have been obtained, i.e. 16 July.

The key is to solve the problem yourself than to see it as a story.