+Let (a, b, c) represent the three sides of a right angle triangle with integral length sides. It is possible to place four such triangles together to form a square with length c.
+For example, (3, 4, 5) triangles can be placed together to form a 5 by 5 square with a 1 by 1 hole in the middle and it can be seen that the 5 by 5 square can be tiled with twenty-five 1 by 1 squares.
+However, if (5, 12, 13) triangles were used then the hole would measure 7 by 7 and these could not be used to tile the 13 by 13 square.
+Given that the perimeter of the right triangle is less than one-hundred million, how many Pythagorean triangles would allow such a tiling to take place?
+Pythagoras, Euler's Formula, Hypoteneuse
+ return gcd($m,$n % $m);
+my $limit = 100_000_000;
+my $half_limit = ($limit >> 1);
+my $hypotenuse_lim = int($limit/2);
+my $major_side_limit = int($limit/2);
+my $m_limit = int(sqrt($hypotenuse_lim));
+for my $m (2 .. $m_limit)
+ my $n = ((($m & 0x1) == 0) ? 1 : 2);
+ if (gcd( $m, $n ) == 1)
+ my $half_sum = $m * ($m + $n);
+ if ($half_sum > $half_limit)
+ my ($aa, $bb, $cc) = ($m*$m-$n*$n, 2*$m*$n, $m*$m+$n*$n);
+ if ($cc % abs($bb-$aa) == 0)
+ $count += int( $half_limit / $half_sum );
+print "Count = $count\n";