Solutions to Project Euler challenges