solving project euler problems