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.
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. They said their age is now squarish. Moreover, since the previous time their age was a squarish number, a squarish number of years have passed. How many years will they have to wait until their age will have this property again?
Unless they're really young or old for a Microsoft employee, they're 42 and they'll have to wait 68 years until their 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.