solutions to various Project Euler problems