Pythagorean quadruples: Difference between revisions

Content added Content deleted
m (→‎{{header|REXX}}: elided a no longer relevant comment.)
m (→‎{{header|Sidef}}: updated code -- sqrtmod(a,m) is now built-in)
Line 1,906: Line 1,906:


=={{header|Sidef}}==
=={{header|Sidef}}==
<lang ruby># Finds all solutions (a,b) such that: a^2 + b^2 = n^2
<lang ruby>require('ntheory')

# Finds all solutions (a,b) such that: a^2 + b^2 = n^2
func sum_of_two_squares(n) is cached {
func sum_of_two_squares(n) is cached {


Line 1,947: Line 1,945:
for p,e in (prime_powers) {
for p,e in (prime_powers) {
var pp = p**e
var pp = p**e
var r = %S<ntheory>.sqrtmod("#{pp - 1}", "#{pp}")
var r = sqrtmod(-1, pp)
take([[r, pp], [pp - r, pp]])
take([[r, pp], [pp - r, pp]])
}
}