x2.pl 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/usr/bin/perl
  2. # a(n) is the least k such that k^2 + 1 is a semiprime p*q, p < q, and (q - p)/2^n is prime.
  3. # https://oeis.org/A258780
  4. # New terms found:
  5. # a(20) = 126072244
  6. # a(21) = 9586736
  7. # a(22) = 4156840
  8. # a(23) = 542759984 # to be added
  9. # a(24) = 1017981724 # to be added
  10. # a(25) = 2744780140 # to be added
  11. # a(26) = 405793096 # to be added
  12. # a(27) = 148647496 # to be added
  13. # a(28) = 1671024916 # to be added
  14. # ....
  15. # a(30) = 1515257276 # to be added
  16. # Another example for a(27) is 2808502256.
  17. # It seems that all terms are multiples of 4.
  18. use 5.014;
  19. use ntheory qw(:all);
  20. sub f {
  21. my %seen;
  22. foreach my $n (1 .. 1e9) {
  23. my $k = $n << 1; # all terms are even
  24. my $t = $k * $k + 1;
  25. if (is_semiprime($t)) {
  26. my ($p, $q) = factor($t);
  27. my $v = valuation($q - $p, 2);
  28. #$v > 22 or next;
  29. if (not exists $seen{$v - 1} and ((1<<$v) == $q - $p)) {
  30. $seen{$v - 1} = 1;
  31. say $v-1, " => $k,";
  32. }
  33. elsif (not exists $seen{$v} and is_prime(($q - $p) >> $v)) {
  34. $seen{$v} = 1;
  35. say "$v => $k,";
  36. }
  37. }
  38. }
  39. }
  40. f();
  41. __END__
  42. 2 => 8,
  43. 3 => 12,
  44. 5 => 64,
  45. 4 => 140,
  46. 7 => 196,
  47. 8 => 1300,
  48. 9 => 1600,
  49. 6 => 2236,
  50. 11 => 5084,
  51. 10 => 6256,
  52. 15 => 36680,
  53. 19 => 104120,
  54. 13 => 246196,
  55. 12 => 248756,
  56. 14 => 484400,
  57. 17 => 821836,
  58. 16 => 887884,
  59. 18 => 1559116,
  60. 22 => 4156840,
  61. 21 => 9586736,
  62. 20 => 126072244,
  63. 27 => 148647496,
  64. 26 => 405793096,
  65. 23 => 542759984,
  66. 24 => 1017981724,
  67. 30 => 1515257276,
  68. 28 => 1671024916,
  69. 25 => 2744780140,