Source

I got this problem from Rustan Leino, who says Chuck Chan created it and Greg Nelson suggested introducing the name "squarish" to simplify the problem statement.

I solved it and wrote up my solution.

Problem

Let's say that a number is squarish if it is the product of two consecutive numbers. For example, 6 is squarish, because it is $2 \times 3.$

A friend of mine at Microsoft recently had a birthday. He said his age is now squarish. Moreover, since the previous time his age was a squarish number, a squarish number of years have passed. How many years will he have to wait until his age will have this property again?

Solution
Reveal

Unless he's really young or old for a Microsoft employee, he's 42 and he'll have to wait 68 years until his age will have the property again.

Here's why. If two squarish ages are consecutive, there must be an $n$ such that the first one is $(n-1)n$ and the second one is $n(n+1).$ So, the difference between them is $2n$. For this to be squarish, there must be an $m$ such that $2n = m(m+1).$ In other words, $n = m(m+1)/2,$ which means that $n$ must be a pyramidal number.

Thus, if your age is squarish, and if there have been a squarish number of years since your age was last squarish, your age must be $n(n+1)$ where $n$ is a pyramidal number. The pyramidal numbers are 0, 1, 3, 6, 10, 15, etc., so your age must be one of 0, 2, 12, 42, 110, 240, etc. Of these, only 42 is likely as the age of a Microsoft employee, which means it won't happen again until that person is 110.