is_omega_prime.sf 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/usr/bin/ruby
  2. # Smallest number such that k^n - 1 contains n distinct prime divisors.
  3. # https://oeis.org/A219019
  4. # Known terms:
  5. # 3, 4, 7, 8, 16, 11, 79, 44, 81, 91, 1024, 47, 12769, 389, 256, 413, 46656, 373, 1048576, 1000, 4096, 43541
  6. # New terms found:
  7. # 12769, 389, 256, 413, 46656, 373
  8. # PARI/GP program:
  9. # a(n) = my(k=2); while (omega(k^n-1) != n, k++); k;
  10. # Lower-bounds:
  11. # a(19) > 632814
  12. # a(23) > 446082
  13. # a(26) > 100948
  14. # a(27) > 19141
  15. # Upper-bounds:
  16. # a(19) <= 1048576
  17. # New term:
  18. # a(19) = 1048576 (confirmed by Jinyuan Wang, Feb 13 2023)
  19. local Num!VERBOSE = true
  20. local Num!USE_FACTORDB = true
  21. func a(n, from=2) {
  22. for k in (from..Inf) {
  23. var t = (k**n - 1)
  24. say "[#{n}] Checking k = #{k}: #{t}"
  25. if (t.is_omega_prime(n)) {
  26. return k
  27. }
  28. }
  29. }
  30. var n = 23
  31. var from = 446082
  32. say a(n, from)
  33. __END__
  34. a(1) = 3
  35. a(2) = 4
  36. a(3) = 7
  37. a(4) = 8
  38. a(5) = 16
  39. a(6) = 11
  40. a(7) = 79
  41. a(8) = 44
  42. a(9) = 81
  43. a(10) = 91
  44. a(11) = 1024
  45. a(12) = 47
  46. a(13) = 12769
  47. a(14) = 389
  48. a(15) = 256
  49. a(16) = 413
  50. a(17) = 46656
  51. a(18) = 373
  52. a(19) = ?
  53. a(20) = 1000
  54. a(21) = 4096
  55. a(22) = 43541
  56. a(23) = ?
  57. a(24) = 563
  58. a(25) = 4096
  59. a(26) = ?