2018-09-30 23:01:58 +01:00
|
|
|
|
---
|
|
|
|
|
id: 5900f3ae1000cf542c50fec1
|
|
|
|
|
challengeType: 5
|
|
|
|
|
title: 'Problem 66: Diophantine equation'
|
2019-08-05 09:17:33 -07:00
|
|
|
|
forumTopicId: 302178
|
2018-09-30 23:01:58 +01:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
<section id='description'>
|
2020-02-28 21:39:47 +09:00
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
Consider quadratic Diophantine equations of the form:
|
2020-02-28 21:39:47 +09:00
|
|
|
|
|
|
|
|
|
<div style='text-align: center;'>x<sup>2</sup> – Dy<sup>2</sup> = 1</div>
|
|
|
|
|
|
|
|
|
|
For example, when D=13, the minimal solution in x is 649<sup>2</sup> – 13×180<sup>2</sup> = 1.
|
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
It can be assumed that there are no solutions in positive integers when D is square.
|
2020-02-28 21:39:47 +09:00
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
By finding minimal solutions in x for D = {2, 3, 5, 6, 7}, we obtain the following:
|
2020-02-28 21:39:47 +09:00
|
|
|
|
|
|
|
|
|
<div style='margin-left: 2em;'>
|
|
|
|
|
3<sup>2</sup> – 2×2<sup>2</sup> = 1<br>
|
|
|
|
|
2<sup>2</sup> – 3×1<sup>2</sup> = 1<br>
|
|
|
|
|
<strong><span style='color: red;'>9</span></strong><sup>2</sup> – 5×4<sup>2</sup> = 1<br>
|
|
|
|
|
5<sup>2</sup> – 6×2<sup>2</sup> = 1<br>
|
|
|
|
|
8<sup>2</sup> – 7×3<sup>2</sup> = 1<br>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
Hence, by considering minimal solutions in <var>x</var> for D ≤ 7, the largest <var>x</var> is obtained when D=5.
|
|
|
|
|
|
|
|
|
|
Find the value of D ≤ 1000 in minimal solutions of <var>x</var> for which the largest value of <var>x</var> is obtained.
|
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Instructions
|
|
|
|
|
<section id='instructions'>
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Tests
|
|
|
|
|
<section id='tests'>
|
|
|
|
|
|
|
|
|
|
```yml
|
2018-10-04 14:37:37 +01:00
|
|
|
|
tests:
|
2020-02-28 21:39:47 +09:00
|
|
|
|
- text: <code>diophantineEquation()</code> should return a number.
|
|
|
|
|
testString: assert(typeof diophantineEquation() === 'number');
|
|
|
|
|
- text: <code>diophantineEquation()</code> should return 661.
|
|
|
|
|
testString: assert.strictEqual(diophantineEquation(), 661);
|
2018-09-30 23:01:58 +01:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Challenge Seed
|
|
|
|
|
<section id='challengeSeed'>
|
|
|
|
|
|
|
|
|
|
<div id='js-seed'>
|
|
|
|
|
|
|
|
|
|
```js
|
2020-02-28 21:39:47 +09:00
|
|
|
|
function diophantineEquation() {
|
2020-09-15 09:57:40 -07:00
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-28 21:39:47 +09:00
|
|
|
|
diophantineEquation();
|
2018-09-30 23:01:58 +01:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
## Solution
|
|
|
|
|
<section id='solution'>
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// solution required
|
|
|
|
|
```
|
2019-07-18 08:24:12 -07:00
|
|
|
|
|
2018-09-30 23:01:58 +01:00
|
|
|
|
</section>
|