https://www.xavignu.com/?p=549
Project Euler