Project Euler problem 12 (https://projecteuler.net/problem=12)