Netizens were puzzled and mortified when they can’t seem to answer a math problem for a fifth grader in Singapore as posted by Kenneth Kong on his Facebook account.
The problem:

Image coutesy Kenneth Kong / Facebook
Here is my solution with an explation in its simplest form and in the most unabridged way.
Albert is given the months, therefore it could be either May, June, July or August.
Bernard is given the day so it is either 14, 15, 16, 17, 18 or 19.
Dissection of premisses (statements) and their logical inferences:
Albert:
“I don’t know when Cheryl’s birthday is..”
-Albert don’t know the birthday. Of course, because all months has either two or more possible days. He could not be certain on the day of the month.
“… but I know that Bernard does not know too.”
-For Albert to certainly know that Bernard does not know the birthday, he should have observed that the month that was given to him has a list of possible dates with days that are not unique, like 14, 15, 16 and 17. If it is unique, Bernard would know since there will be no other date with that day. Note that 14, 15, 16 and 17 appeared twice on the list of dates while 18 and 19 only once. Therefore, Albert is given a month that is either July or August as these are the only months with no unique day while Bernard is for sure not given a day that is unique, 18 or 19, it could be 14, 15, 16 or 17.
Bernard:
“At first I don’t know when Cheryl’s birthday is…”
-Of course Bernard would not immediately know as the day is not unique, there are two possible dates for every possible day that he was given.
“but I know now.”
-By deduction like we did earlier, Bernard would be able to conclude that Albert is given July or August. By this conclusion plus his information of the day (it was given to him), he would already know the birthday. It means that the day is something not common between July and August, it is for sure not 14, else Bernard could not be sure of the date.
Albert:
“Then I also know when Cheryl’s birthday is.”
-Again, by deducing from the statement of Bernard, Albert would already know that there are only 3 possible dates left as of the moment, July 16, August 15 and August 17. Since, Albert, the one given the month, already knows, that means it should not be the dates with a common month, else he could not be certain about it. Hence, it is not August, else it will invalidate Albert’s statement that he knows. Eliminating all dates with August month, we are left with July 16.
Therefore, Cheryl’s birthday is July 16.