## Project Euler 12: Find the value of the first triangle number to have over five hundred divisors

#### Project Euler 12 Problem Description

The sequence of triangle numbers is generated by adding the natural numbers. So the 7^{th} triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, …

Let us list the factors of the first seven triangle numbers:

**1**: 1

**3**: 1,3

**6**: 1,2,3,6

**10**: 1,2,5,10

**15**: 1,3,5,15

**21**: 1,3,7,21

**28**: 1,2,4,7,14,28

We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?

#### Analysis

**REVISED**

Our algorithm for solving this one was improved nicely by a detailed explanation provided by a Project Euler moderator named ‘rayfil’. His wonderful explanation is published as a PDF document that is available after you solve the problem. What follows is our own interpretation written in Python.

If you run the Trinket for an input of 500 it will take about 15 seconds to run.

#### Project Euler 12 Solution

Runs < 0.113 seconds in Python 2.7.Use this link to get the Project Euler 12 Solution Python 2.7 source.

#### Answer

Slowly swipe from either end beginning with the white vertical bar to get an idea of the starting or ending digits. For less drama, just double click the answer area. The distance between the two bars will give you an idea of the magnitude. Touch devices can tap and hold the center of the box between the two bars and choose*define*to reveal the answer.

#### Afterthoughts

- This is the second incarnation of this solution, the first taking longer and more complicated to understand. This version also passes all the HackerRank test problems.

*Project Euler 12 Solution last updated*

You say “euler’s amazing algorithm” — what algorithm is this?

nice solution and excuse me for asking but what is the algorithm you use? or is it combination of things?

thank you

Hi Larry. It’s been quite some time since we solved this one but as I recall our solution was improved by some comments made by Euler, the Project Euler moderator and not Leonhard Euler the 18th century mathematician. I will edit this post to make that clear.

Thank you for you comment and consideration.