131 Prime cube partnership.pl 515 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/perl
  2. # Author: Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Website: https://github.com/trizen
  5. # General formula: n^9 + n^6 * p = (n^3 + n^2)^3 where p is a prime number.
  6. # From the above formula results that p must have the form: 3n^2 + 3n + 1.
  7. # https://projecteuler.net/problem=131
  8. # Runtime: 0.040s
  9. use strict;
  10. use integer;
  11. use ntheory qw(is_prime);
  12. my $count = 0;
  13. for(my $n = 1; ; $n++) {
  14. my $p = 3*$n**2 + 3*$n + 1;
  15. last if $p >= 1e6;
  16. ++$count if is_prime($p);
  17. }
  18. print "$count\n";