My answer to Project Euler