Creating Carmichael Number A tool for teachers \302\2512007 by Mike May, S.J., Saint Louis University - maymk@slu.edu This worksheet is a tool for teachers to let them easily generate Carmichael numbers to use for examples. restart: The literature notes that if p is prime and 6p+1, 12p+1, and 18p+1 are all prime, then(6p+1)(12p+1)(18p+1) is a Carmichael number. This makes it easy to generate Carmichael numbers of a given size. FindCarmichael := proc(StartKey) local BaseP, p, n: BaseP := floor(evalf((StartKey/(6*12*18))^(1/3))): p := nextprime(BaseP): while (not( (isprime(6*p+1)) and (isprime(12*p+1)) and (isprime(18*p+1)) )) do p:= nextprime(p): end do: n:= (6*p+1)*(12*p+1)*(18*p+1): [BaseP, p, p-BaseP, n]; end proc: FindCarmichael(10^5); NyYiIiUiJWg4IiVkOCIuKil5Mmh6RSQ= This does not find small Carmichael numbers, but once it gets started it finds numbers that are close in ratio. Current := FindCarmichael(1); for i from 1 to 10 do Current := FindCarmichael(Current[4]); end do; NyYiIiEiJWg4RiQiLiopeTJoekUk NyYiJWg4IiUiUSIiIz8iLjQ5RllUVCQ= NyYiJSJRIiIlSj4iJF0mIi40c1clKUhMKg== NyYiJUo+IiU2RiIkIXkiLypbaSJIXiNlIw== NyYiJTZGIiUiZSYiJXFHIjA0bSFlKj1JRCM= NyYiJSJlJiIlInomIiQ1IyIwcGQ0RkpxXiM= NyYiJSJ6JiIlSnQiJVM6IjA0J0hmY1AxXg== NyYiJUp0IiVUeCIkNSUiMHBmYzdBPiwn NyYiJVR4IiUiMykiJFMkIjA0bT45IVFSbw== NyYiJSIzKSIlXikqIiVxPCIxSFYlbzZtKlE3 NyYiJV4pKiImSi4iIiQhWyIxNHcqZnpUIUg5 If we start with a base of about 10^40, we see that these numbers are rare in absolute terms, but close in terms of percent change from the base. Current := FindCarmichael(10^40); for i from 1 to 10 do Current := FindCarmichael(Current[4]); end do; NyYiLitnJD0wdz4iLl44Jj4wdz4iJ15gNiJKSCRlaHJHTHUlZSdHO149XVF2LCsrNQ== NyYiLis/Jj4wdz4iLkA7LF9nKD4iJkAnZiJKXCM+TzVERScpcFQuKkcib2Mpb0UrKysi NyYiLis/LF9nKD4iLmh1P19nKD4iJ2hhPiJKKlskKjMocEJJIWUnelwxaSllP2swKys1 NyYiLishM0Ewdz4iLl4mXEEwdz4iJl46JSJKSCYqUXkrNlpAOCkpUSI+ZGc1RzErKzU= NyYiLisrRF9nKD4iLkpMUl9nKD4iJ0pMOSJKNGNNRGwmPjZTbihIKSk+IioqUVkzKys1 NyYiLitTUl9nKD4iLjZiY19nKD4iJzY6PCJKKkc2LGBAPTlGLCVbQnc1IXoyNisrNQ== NyYiLitnY19nKD4iLnJFdF9nKD4iJ3JtOyJKXCFIdmtGMzYmKilSMTZWM3A6TywrKyI= NyYiLitTdF9nKD4iLkoxel9nKD4iJkptJiJKNFdXJHk2ImZyVnhicSk0R2NcOSsrNQ== NyYiLis1el9nKD4iLix1PWBnKD4iJyxrUiJKSCxpLlJ0TkNybihSVjk4JD4wLSsrIg== NyYiLishKT1gZyg+Ii5AZktgZyg+IidAejgiSlxnbVVmJlxsNkxUJiopUXVIQUUtKysi NyYiLitnS2BnKD4iLiJ6N00wdz4iJiJ6JykiSnB4OUQ4KFt3OygqPTl0U1Q2JVItKysi With a slight variation we can find Carmichael numbers of a string of sizes. for i from 1 to 15 do FindCarmichael(10^(3*i+3)); FindCarmichael(rand(10^(3*i+3))()); end do; NyYiIioiJWg4IiVfOCIuKil5Mmh6RSQ= NyYiIiYiJWg4IiVjOCIuKil5Mmh6RSQ= NyYiIyIqIiVoOCIlcTciLiopeTJoekUk NyYiI0YiJWg4IiVNOCIuKil5Mmh6RSQ= NyYiJDwqIiVoOCIkVyUiLiopeTJoekUk NyYiJDwkIiVoOCIlVzUiLiopeTJoekUk NyYiJXMiKiIlXikqIiR6JyIxSFYlbzZtKlE3 NyYiJTZbIiUiZSYiJHEoIjA0bSFlKj1JRCM= NyYiJj88KiImQGkqIiUsWCI0XCkpR0NkZmVYOiI= NyYiJnYiKSkiJkBpKiIlWSEpIjRcKSlHQ2RmZVg6Ig== NyYiJy1zIioiJ0olPSoiJUg3Ijc0N1UlPkVDXkRTKyI= NyYiJ1tnJSkiJyJwXSkiJVZZIjZwQDg2QUVSKlt5eg== NyYiKD8/PCoiKHJWPCoiJV5CIjpcI1FQeW8jKTRiInAyKyI= NyYiKHRheigiKEpyeigiJWU7Ijk0JWVlbDo4VTo1TTkn NyYiKSwtcyIqIikiPkY8KiIlISpwIj1waHljImZpIT46UidHLSsi NyYiKUgnWzsqIilyUXAiKiImVV8lIjxcLUEqKXo0bSYpb0shUiIqKio= NyYiKjg/PzwqIipoVkQ8KiImW0ImIkAqKWUxdWgoSCUqZVMkKkc3PCs1 NyYiKipHdV5tIipeMz1sJyIlaWwiP0guMykqWzEpW2BpbkcjUTlR NyYiK1IsLXMiKiIrSjwvcyIqIiYjZkAiQzRnQCYzTV41S2x6UU0xMisrIg== NyYiKzo6YmZlIityeHRmZSInY2k9IkJcbXpBQj0oPkpHT1VMOWYyRQ== NyYiLCFSLC1zIioiLEp1QD88KiImVGciIkY0XzEmMyQpSD41aScqSGVyRDArKzU= NyYiLGdbbCVSbSIsIipIbSVSbSIlSiIpIkVwXE5haiMpPURmJm81Z2RGKj0keiQ= NyYiLStSLC1zIioiLV4rNS1zIioiJl5oKSJJSHZhO3B2Om9YIkdwOztER0crKysi NyYiLStLIkdXXigiLTZQKkdXXigiJjYwKSJIKlspUilmISlSTyN6cj43RUlRJG82Klwm NyYiLishUiwtcyIqIi5oJW8sLXMiKiImaCVIIkwqW1xReHU0OTBtbmVHQkdvbjUrKys1 NyYiLitxIilmQ2omIi5yOigqZkNqJiInclg6IktcYTN5KXlRSHNGMyhmazAocEQhNHo6Qg== NyYiLysrUiwtcyIqIi8iKXlkLC1zIioiJyIpeT0iTzRhZ1dFIypcK0BzcThTPyl5KWU9MisrKzU= NyYiLysrUUFcbCIqIi8iRyxEI1xsIioiJyJHQCIiTjRlJFIlZSFwclFUeiU9Rl9AdThGbmoneSoq NyYiMCsrIVIsLXMiKiIwSjwrOT8/PCoiJ0o8NSJSNGcoXCQ0Ok8xc0phWndqVVdYUXQ4KysrKyI= NyYiMCsrK11BdWUpIjBUeDtdQXVlKSInVHg7IlFwZksneU9DdXdHRkUzXUx5ZVkoZjw3PDIjKQ== Legal Notice: The copyright for this application is owned by the author(s). Neither Maplesoft nor the author are responsible for any errors contained within and are not liable for any damages resulting from the use of this material. This application is intended for non-commercial, non-profit use only. Contact the author for permission if you wish to use this application in for-profit activities.