---
id: 5900f4a11000cf542c50ffb4
challengeType: 5
title: 'Problem 309: Integer Ladders'
---

## Description
<section id='description'>
In the classic "Crossing Ladders" problem, we are given the lengths x and y of two ladders resting on the opposite walls of a narrow, level street. We are also given the height h above the street where the two ladders cross and we are asked to find the width of the street (w).



Here, we are only concerned with instances where all four variables are positive integers.
For example, if x = 70, y = 119 and h = 30, we can calculate that w = 56.

In fact, for integer values x, y, h and 0 < x < y < 200, there are only five triplets (x,y,h) producing integer solutions for w:
(70, 119, 30), (74, 182, 21), (87, 105, 35), (100, 116, 35) and (119, 175, 40).

For integer values x, y, h and 0 < x < y < 1 000 000, how many triplets (x,y,h) produce integer solutions for w?
</section>

## Instructions
<section id='instructions'>

</section>

## Tests
<section id='tests'>

```yml
tests:
  - text: <code>euler309()</code> should return 210139.
    testString: assert.strictEqual(euler309(), 210139, '<code>euler309()</code> should return 210139.');

```

</section>

## Challenge Seed
<section id='challengeSeed'>

<div id='js-seed'>

```js
function euler309() {
  // Good luck!
  return true;
}

euler309();
```

</div>



</section>

## Solution
<section id='solution'>

```js
// solution required
```
</section>
