my project euler methods