solutions to Project Euler