use strict; use util; my %ext; my $N = 2000000; for (my $t = 1; $t < $N; $t += 2) { for (my $s = $t; $s < $N; $s += 2) { if ($t * $s >= $N) { last; } if (util::gcd($t, $s) == 1) { my $a = $s * $t; my $b = ($s ** 2 - $t ** 2) / 2; my $c = ($s ** 2 + $t ** 2) / 2; my $L = $a + $b + $c; if ($L < $N && $a != 0 && $b != 0 && $c != 0) { for (my $n = 1; $n * $L < $N; ++$n) { ++$ext{($n * $L)}; } } } } } my $c = 0; foreach my $k (keys(%ext)) { if ($ext{$k} == 1) { ++$c; } } print "C=$c\n";