451 Modular inverses -- v2.pl 320 B

12345678910111213141516171819202122232425
  1. #!/usr/bin/perl
  2. # Author: Trizen
  3. # 17 February 2022
  4. # https://github.com/trizen
  5. # https://projecteuler.net/problem=451
  6. # Runtime: 55 seconds.
  7. use 5.010;
  8. use strict;
  9. use warnings;
  10. use ntheory qw(:all);
  11. sub l {
  12. (allsqrtmod(1, $_[0]))[-2];
  13. }
  14. my $sum = 0;
  15. foreach my $d (3 .. 2e7) {
  16. $sum += l($d);
  17. }
  18. say $sum;