mail.sf 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/usr/bin/ruby
  2. func isok_a(n, k) {
  3. var p = prime(n)
  4. (powmod(p, (k-1)/2, k) == 1) && primes(p-1).all {|q|
  5. powmod(q, (k-1)/2, k) == k-1
  6. }
  7. }
  8. say isok_a(6, 35141256146761030267)
  9. say isok_a(7, 4951782572086917319747)
  10. func isok_b(n, k) {
  11. var p = prime(n)
  12. (powmod(p, (k-1)/2, k) == k-1) && (1 ..^ p -> all {|q|
  13. powmod(q, (k-1)/2, k) == 1
  14. })
  15. }
  16. say isok_b(9, 12155831039329417441)
  17. say isok_b(9, 33420814186701090241)
  18. say isok_b(10, 41154189126635405260441)
  19. __END__
  20. #say isok(5, 32398013051587)
  21. [
  22. #32398013051587, 4627853036319787, 7333470436409443, 29645348137369147, 36140749487965627, 44213562255703843, 62804051517546907, 92101327510561027, 94423328872035643, 118469127753064747
  23. #493813961816587, 655462669313563, 712305136356547, 1012925163368467, 1063809017035267, 1350727530916147, 1406616417615667, 1554737931642307, 1794376822387267, 2167215816099907, 2402921698865827
  24. 75350936251, 142186219181, 183413388211, 187403492251, 244970876021, 247945488451, 405439595861, 1121610731251, 1566655993781, 1990853572901, 2731649128781, 5042919827861, 5792018372251, 5830202612851, 6226129086451, 6664768278451, 7738029492211, 8648900162251, 9425030475451, 9429387401741, 10216085978251, 14804189283451, 15263877377251, 15883263707851
  25. ].map{
  26. isok(3, _)
  27. }.say
  28. __END__
  29. b(n) is the smallest odd composite k such that prime(n)^((k-1)/2) == 1 (mod k) and q^((k-1)/2) == -1 (mod k) for every prime q < prime(n).
  30. b(n) : 341, 29341, ? Is this sequence finite?
  31. Several upper-bounds for b(3)-b(5):
  32. b(3) <= 75350936251
  33. b(4) <= 493813961816587
  34. b(5) <= 32398013051587
  35. An upper-bound for b(6) is currently not known.
  36. Several more upper-bounds (examples), with possible gaps, for each b(3)-b(5):
  37. b(3) <= { 75350936251, 142186219181, 183413388211, 187403492251, 244970876021, 247945488451, 405439595861, 1121610731251, 1566655993781, 1990853572901, 2731649128781, 5042919827861, 5792018372251, 5830202612851, 6226129086451, 6664768278451, 7738029492211, 8648900162251, 9425030475451, 9429387401741, 10216085978251, 14804189283451, 15263877377251, 15883263707851, ... }
  38. b(4) <= { 493813961816587, 655462669313563, 712305136356547, 1012925163368467, 1063809017035267, 1350727530916147, 1406616417615667, 1554737931642307, 1794376822387267, 2167215816099907, 2402921698865827, ... }
  39. b(5) <= { 32398013051587, 4627853036319787, 7333470436409443, 29645348137369147, 36140749487965627, 44213562255703843, 62804051517546907, 92101327510561027, 94423328872035643, 118469127753064747, ... }