Pell's equation: Difference between revisions
Content added Content deleted
m (→{{header|jq}}) |
|||
Line 883: | Line 883: | ||
f1 : 0, |
f1 : 0, |
||
f2 : 1 } |
f2 : 1 } |
||
| until(.emit; |
|||
.y = .r*.z - .y |
|||
| .z = idivide($n - .y*.y; .z) |
|||
| .r = idivide(.x + .y; .z) |
|||
| .v1 as $t |
|||
| .v1 = .v2 |
|||
| .v2 = .r*.v2 + $t |
|||
| .f1 as $t |
|||
| .f1 = .f2 |
|||
| .f2 = .r*.f2 + $t |
|||
| (.v2 + .x*.f2) as $a |
|||
| .f2 as $b |
|||
| if ($a*$a - $n*$b*$b == 1) then .emit = [$a, $b] else . end |
|||
).emit ; |
).emit ; |
||