inverse_znorder_generation.sf 542 B

12345678910111213141516171819202122
  1. #!/usr/bin/ruby
  2. # Find all the integers d such that znorder(b, d) = n, for given integers (n,b).
  3. # See also:
  4. # https://oeis.org/A226477
  5. # https://oeis.org/A345319
  6. include("/home/swampyx/Other/Programare/experimental-projects/factordb/auto.sf")
  7. func inverse_znorder(n, b=10) {
  8. divisors(b**n - 1).grep{.is_squarefree}.grep {|d| znorder(b, d) == n }
  9. }
  10. var base = 2
  11. for n in (64..500) {
  12. inverse_znorder(n, base).each {|k|
  13. say k if (k > 2**64 && (kronecker(5, k) == -1) && k.is_composite && k.is_strong_psp(base))
  14. }
  15. }