#link: https://projecteuler.net/problem=44

# 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 are pentagonal and D = |Pk − Pj| is minimised; what is the value
# of D?


pentagonal = set()

for n in range(1, 10000):
    a = n*(3*n - 1)//2
    for b in pentagonal:
        c = a - b
        if c in pentagonal:
            d = b - c
            if d in pentagonal:
                print(n, d, c, b, a)
                exit()
    pentagonal.add(a)
