https://www.xavignu.com/?p=773
Project Euler problem 29