+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";