use strict; use warnings; my $n = 5; # should be 100 my $c1 = my $c2 = 0; for my $w (3..$n) { for my $dwx (1..$w-2) { my $x = $w - $dwx; for my $dxy (1..$x-1) { my $y = $x - $dxy; for my $dyz (1..$y) { my $z = $y - $dyz; $c1++; next unless $dwx != $dxy or $dxy != $dyz; $c2++; print "$w $x $y $z\n"; } } } } print "Found $c2 out of $c1 combinations\n";