Pentagonal numbers are generated by the formula, Pn=n(3n−1)/2. The first ten pentagonal numbers are:
1, 5, 12, 22, 35, 51, 70, 92, 117, 145, …
It can be seen that P4 + P7 = 22 + 70 = 92 = P8. However, their difference, 70 − 22 = 48, is not pentagonal.
Find the pair of pentagonal numbers, Pj and Pk, for which their sum and difference is pentagonal and D = |Pk − Pj| is minimised; what is the value of D?
When the problem asks for D = |Pk − Pj| to be minimized it simply means the smallest pair which, by our method, is the first occurrence found.
Runs < 1 second in Python with improvements suggested by James.
def pe44(): ps = set() i = 0 while True: i += 1 p = (3*i*i - i) / 2 ps.add(p) for n in ps: if p-n in ps and p-2*n in ps: return p-2*n print "Answer to PE44 = ", pe44()
Also see Problem 45.