solutions for Project Euler