All pastes #515484 Raw Edit

Someone

public text v1 · immutable
#515484 ·published 2007-05-28 06:46 UTC
rendered paste body
sub egcd($$) {
    my ($a,$b) = @_;

    if ($a<0) {
	my ($d,$x,$y) = egcd(-$a,$b);
	return ($d,-$x,$y);
    } elsif ($b<0) {
	my ($d,$x,$y) = egcd($a,-$b);
	return ($d,$x,-$y);
    } elsif ($a<$b) {
	my ($d,$x,$y) = egcd($b,$a);
	return ($d,$y,$x);
    } elsif ($b==0) {
	return ($a,1,0);
    } else {
	my $k = $a/$b;
	my ($d,$x,$y) = egcd($a-$k*$b,$b);
	return ($d,$x,$y - $k*$x);
    }
}