Project Euler (projecteuler.net) solutions