Problem #44 Difficulty: 5%

Pentagon Numbers

Solution Language: Java

Problem Statement

Pentagonal numbers are generated by the formula, P(n) = 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 P(4) + P(7) = 22 + 70 = 92 = P(8). However, their difference, 70 - 22 = 48, is not pentagonal.

Find the pair of pentagonal numbers, P(j) and P(k), for which their sum and difference are pentagonal and D = |P(k) - P(j)| is minimised; what is the value of D?

Approach

The solution involves:

  1. Generating pentagonal numbers
  2. Testing pairs to find where both sum and difference are pentagonal
  3. Using a function to test if a number is pentagonal
  4. Finding the pair with minimal difference
  5. Using the formula to check pentagonality: n = (1 + sqrt(1 + 24k))/6 must be an integer