This is the answer smarty pants!

You should create a table with two rows. A table of four columns with the months at the top and the dates Cheryl gives after (May 15, 16, 19; June 17, 18; July 14, July 16; August 14, 15 and 17)

Albert knows which month, so he knows if it is May or June. Bernard knows the date but if it was 18 or 19, they only appear once, and he would know the answer. But he doesn’t.

“You can rule out some of the options. For Albert to have known the answer, he would have to have May and June as that is when 19 or 18 occur [respectively].”

This means it is not May or June.

“So Albert must have a month where numbers are repeated, leaving us with July and August,” . Bernard knows Albert has either of those two months and the numbers left include 15 through to 17 and 14 is repeated.

The number 14 is the only one in both months but Bernard is now sure of the birth date.

This means Bernard knows it is July 16.