64 lines
1.1 KiB
Markdown
64 lines
1.1 KiB
Markdown
---
|
|
id: 5900f54b1000cf542c51005d
|
|
challengeType: 5
|
|
title: 'Problem 479: Roots on the Rise'
|
|
---
|
|
|
|
## Description
|
|
<section id='description'>
|
|
Let ak, bk, and ck represent the three solutions (real or complex numbers) to the expression 1/x = (k/x)2(k+x2) - kx.
|
|
|
|
For instance, for k = 5, we see that {a5, b5, c5} is approximately {5.727244, -0.363622+2.057397i, -0.363622-2.057397i}.
|
|
|
|
Let S(n) = Σ (ak+bk)p(bk+ck)p(ck+ak)p for all integers p, k such that 1 ≤ p, k ≤ n.
|
|
|
|
Interestingly, S(n) is always an integer. For example, S(4) = 51160.
|
|
|
|
Find S(106) modulo 1 000 000 007.
|
|
</section>
|
|
|
|
## Instructions
|
|
<section id='instructions'>
|
|
|
|
</section>
|
|
|
|
## Tests
|
|
<section id='tests'>
|
|
|
|
```yml
|
|
tests:
|
|
- text: <code>euler479()</code> should return 191541795.
|
|
testString: 'assert.strictEqual(euler479(), 191541795, "<code>euler479()</code> should return 191541795.");'
|
|
|
|
```
|
|
|
|
</section>
|
|
|
|
## Challenge Seed
|
|
<section id='challengeSeed'>
|
|
|
|
<div id='js-seed'>
|
|
|
|
```js
|
|
function euler479() {
|
|
// Good luck!
|
|
return true;
|
|
}
|
|
|
|
euler479();
|
|
```
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</section>
|
|
|
|
## Solution
|
|
<section id='solution'>
|
|
|
|
```js
|
|
// solution required
|
|
```
|
|
</section>
|