Si no se requiere que la prueba sea definitiva, entonces, bueno, um, tal vez.
Sin embargo, para que sea práctico, yo cambiaría "todo $b$ " a "todos $1 < b < n$ ". Evidentemente, $n^{n - 1} \equiv 0 \bmod n$ . Dado que esta prueba implica la exponenciación, querría evitar tener que hacer más multiplicaciones de las necesarias.
Intentemos $n = 341$ . Está claro que 341 es un número impar. Tanto Wolfram Mathematica como Wolfram Alpha nos dicen fácilmente que $2^{340} \equiv 1 \bmod 341$ . Igualmente vemos que con una raíz digital de base 10 de 8, 341 no es divisible por 3 sino $3^{340} \equiv 56 \bmod 341$ . En efecto, $341 = 11 \times 31$ . Parece que la prueba funciona.
Pero no nos conformemos con una carrera exitosa. ¿Qué tal si $n = 561$ ? No voy a sacar esa cifra de un sombrero. Se ha sacado de uno de los comentarios.
Bien, entonces 561 es también impar, y vemos que $2^{560} \equiv 1 \bmod 561$ . Con una suma de dígitos de 12, vemos que 561 es divisible por 3, así que nos saltamos el 3 y pasamos al 4. Vemos que $4^{560} \equiv 1 \bmod 561$ lo que significa que el...
¡Oye, espera un momento! Si 561 es divisible por 3, ¿puede ser primo? No, es compuesto. De hecho $3^{560} \equiv 375 \bmod 561$ . Pero usted encontrará que si $b$ no es divisible por 3, 11 o 17, entonces $b^{560} \equiv 1 \bmod 561$ .
Por eso el 341 se llama pseudoprimo de base 2 y algunos otros, y el 561 se llama pseudoprimo de bases 2, 4, 5, 7, 8, 10, 13, 14, etc.
Esto significa que la prueba de primalidad de Fermat no es fiable por sí misma, da muchos pequeños falsos positivos. Sin embargo, si para un número impar grande puedes descartar muchos primos pequeños (como 3, 11, 17) como factores primos con la división de prueba, y es un pseudoprimo para muchas bases pequeñas, eso podría ser una indicación de primalidad lo suficientemente buena para tus propósitos.
Por cierto, PrimeQ
en Wolfram Mathematica tampoco es definitivo. Pero nadie ha encontrado todavía un falso positivo, y quizás nadie lo haga nunca.