Intermediate commit on 40. It's not correct, but I think I have some useful stuff in there.
Correct solution to Euler40 added in. Problem was with the number of terms and how I was dealing with / using that value.