working through the Project Euler problems