2018-09-30 22:01:58 +00:00
|
|
|
|
---
|
|
|
|
|
id: 5900f3ae1000cf542c50fec1
|
|
|
|
|
challengeType: 5
|
|
|
|
|
title: 'Problem 66: Diophantine equation'
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
<section id='description'>
|
|
|
|
|
Consider quadratic Diophantine equations of the form:
|
|
|
|
|
x2 – Dy2 = 1
|
|
|
|
|
For example, when D=13, the minimal solution in x is 6492 – 13×1802 = 1.
|
|
|
|
|
It can be assumed that there are no solutions in positive integers when D is square.
|
|
|
|
|
By finding minimal solutions in x for D = {2, 3, 5, 6, 7}, we obtain the following:
|
|
|
|
|
32 – 2×22 = 1
|
|
|
|
|
22 – 3×12 = 192 – 5×42 = 1
|
|
|
|
|
52 – 6×22 = 1
|
|
|
|
|
82 – 7×32 = 1
|
|
|
|
|
Hence, by considering minimal solutions in x for D ≤ 7, the largest x is obtained when D=5.
|
|
|
|
|
Find the value of D ≤ 1000 in minimal solutions of x for which the largest value of x is obtained.
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Instructions
|
|
|
|
|
<section id='instructions'>
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
<section id='tests'>
|
|
|
|
|
|
|
|
|
|
```yml
|
2018-10-04 13:37:37 +00:00
|
|
|
|
tests:
|
|
|
|
|
- text: <code>euler66()</code> should return 661.
|
2018-10-20 18:02:47 +00:00
|
|
|
|
testString: assert.strictEqual(euler66(), 661, '<code>euler66()</code> should return 661.');
|
2018-09-30 22:01:58 +00:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Challenge Seed
|
|
|
|
|
<section id='challengeSeed'>
|
|
|
|
|
|
|
|
|
|
<div id='js-seed'>
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
function euler66() {
|
|
|
|
|
// Good luck!
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
euler66();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Solution
|
|
|
|
|
<section id='solution'>
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// solution required
|
|
|
|
|
```
|
|
|
|
|
</section>
|