Working through the Project Euler programming problems