Solutions to Project Euler challenge problems