Project Euler problem solutions