El problema que motiva: ¿siempre aparecen primos nuevos?
Considera la sucesión a1−b1,a2−b2,a3−b3,… para enteros a>b≥1 con gcd(a,b)=1. Por ejemplo, con a=2, b=1:
21−1=1,22−1=3,23−1=7,24−1=15=3⋅5,25−1=31,26−1=63=9⋅7.
Observa que 23−1=7 introduce el primo 7 por primera vez. El primo 5 aparece por primera vez en 24−1. El primo 31 en 25−1. Todos son "primos nuevos" para su n respectivo.
¿Es siempre así? ¿Para cada n suficientemente grande, an−bn tiene un factor primo que no aparecía antes? La respuesta es sí —casi siempre— y ese es el teorema de Zsygmondy de 1892.
Este resultado tiene consecuencias sorprendentes en olimpiadas: cuando el problema dice "para todo n, el número f(n) es compuesto" o "hallar todas las n con tal propiedad", el teorema de Zsygmondy a menudo da la llave maestra.
Definición: primo primitivo de $a^n - b^n$
Definición. Sea a>b≥1 con gcd(a,b)=1. Un primo p es un **primo primitivo de an−bn (también llamado divisor primo primitivo**, en inglés *primitive prime divisor*) si:
(1) p∣an−bn,
(2) p∤ak−bk para todo 1≤k<n.
En términos del orden multiplicativo: la condición (1) dice an≡bn(modp), es decir (ab−1)n≡1(modp) (donde b−1 es el inverso de b módulo p, que existe pues gcd(b,p)=1 dado que p∤b). La condición (2) dice que n es el menor entero positivo con esta propiedad. Por lo tanto:
**Un primo p es primitivo de an−bn si y solo si ordp(ab−1)=n.**
Por el pequeño teorema de Fermat, n∣p−1. En particular p≡1(modn), lo que implica p≥n+1.
Esta cota p≥n+1 es fundamental: dice que el primo primitivo es siempre "grande" en relación con n.
p primitivo de an−bn⟺ordp(ab−1)=n Enunciado del teorema de Zsygmondy
Teorema (Zsygmondy, 1892; Birkhoff-Vandiver, 1904). Sean a>b≥1 enteros con gcd(a,b)=1. Entonces an−bn tiene un divisor primo primitivo para todo entero n≥3, con las siguientes excepciones:
(E1) n=6, a=2, b=1: 26−1=63=9⋅7, y 7∣23−1, 3∣22−1. No hay primo primitivo.
(E2) n=2, a+b es una potencia de 2 (entonces a2−b2=(a−b)(a+b) y todos sus factores primos impares dividen a a−b=a1−b1).
(E3) a=2, b=1, n=1: 21−1=1, sin factores primos.
Para el caso an+bn (sumas), la versión análoga de Birkhoff-Vandiver establece que an+bn tiene un divisor primo primitivo (primo p con p∣an+bn pero p∤ak+bk para 0<k<n y p∤ak−bk para k<2n) para todo n≥2, con excepciones análogas.
La hipótesis n≥3 no es arbitraria: para n=2, la excepción (E2) ocurre cuando a+b=2k, que incluye infinitos casos (p.ej. a=3,b=1: a2−b2=8=23, el único primo es 2 que ya divide a 21−1=1... espera, 2∤1. En realidad 2∣a2−b2=8 y 2∤a−b=2... sí divide. Revisión: para a=3,b=1: a−b=2, a+b=4=22. a2−b2=8=23. El único primo es 2, que divide a a−b=2=a1−b1. Así no hay primo primitivo para n=2 en este caso.)
an−bn tiene primo primitivo para todo n≥3 excepto (a,b,n)=(2,1,6) Estrategia de la demostración
La demostración completa del teorema de Zsygmondy es técnicamente extensa, pero la idea central es elemental y hermosa. Presentamos la estrategia principal.
Paso 1: El orden multiplicativo como guía. Sea d(p)=ordp(ab−1) para cada primo p∣an−bn. Si d(p)=n para algún p, ese p es el primo primitivo buscado. Si para todos los primos p∣an−bn se tiene d(p)<n, entonces d(p)∣n y d(p)∣n−1... no, d(p)∣n (pues p∣an−bn implica d(p)∣n) y d(p)=n significaría d(p)∣m para algún divisor propio m de n, luego p∣am−bm.
Paso 2: Comparar tamaños. Supongamos que todos los primos de an−bn también dividen a am−bm para algún m<n (divisor propio de n). Entonces an−bn y ∏m∣n,m<n(am−bm) comparten todos los factores primos. Usando el LTE, podemos calcular exactamente cuántas veces cada primo p divide a an−bn versus ∏m<n,m∣n(am−bm). Si an−bn>∏m<n,m∣n(am−bm)exp max, la hipótesis es imposible.
Paso 3: La fórmula cíclica. La función clave es el polinomio ciclotómico Φn(a,b)=∏gcd(k,n)=1,1≤k≤n(a−ζkb) donde ζ=e2πi/n. Este es un entero (por el lema de Gauss para polinomios) y satisface an−bn=∏d∣nΦd(a,b). El primo primitivo de an−bn es exactamente el primo que divide a Φn(a,b) pero no a ningún Φd(a,b) con d<n. La demostración reduce a mostrar que Φn(a,b) tiene algún factor primo primitivo, lo que se hace estimando su tamaño: Φn(a,b)≥(a−b)ϕ(n)→∞ con n, superando a los factores "viejos" que podrían absorberlo.
El rol del LTE. Para el primo primitivo p se tiene que vp(an−bn)=vp(a−b)+vp(n)=0+vp(n) si p∤a−b. Pero si p es primitivo y p∤a−b, entonces p∣an−bn sin p∣a−b. El LTE en su forma para p∤a−b dice que vp(an−bn)=vp(Φn(a,b))+(contribuciones de divisores de n); si p es primitivo, la única contribución viene del factor ciclotómico Φn(a,b), y el LTE garantiza vp(Φn(a,b))=1 cuando p∤n.
El LTE y la valuación del primo primitivo
Proposición clave. Sea p un primo primitivo de an−bn (con p∤n). Entonces vp(an−bn)=1.
Demostración. Como p es primitivo, ordp(ab−1)=n. En particular p∤a−b (si p∣a−b entonces ab−1≡1(modp), así ordp(ab−1)=1=n para n>1). Por el LTE (versión sin p∣a−b): como p∤a−b y p∣an−bn, el LTE no se aplica directamente en su forma estándar; en cambio, usamos la factorización cíclica. Tenemos an−bn=Φn(a,b)⋅∏d∣n,d<nΦd(a,b). El primo p no divide a ningún Φd(a,b) con d<n (pues si lo hiciera, p dividiría ad−bd, contradiciendo la primitividad). Por lo tanto, vp(an−bn)=vp(Φn(a,b)).
Ahora, Φn(a,b)≡Φn(1,1)⋅(teˊrmino de orden≥1 en a−1,b−1)(modp)... mejor argumento: como p∣Φn(a,b) y p es primo, consideramos Φn(x)=∏gcd(k,n)=1(x−ζk) evaluado en x=ab−1. La derivada Φn′(x)=Φn(x)⋅∑gcd(k,n)=1x−ζk1; en x=ab−1, solo el factor con ζk=1 (i.e., k=0... pero gcd(0,n)=n=1 para n>1) contribuiría un cero. En realidad, x=ab−1 es una raíz simple de Φn (pues las raíces de unidad primitivas son simples), luego vp(Φn(a,b))=1 cuando p∤n (ya que p∤Φn′(ab−1) si p∤n, lo cual se verifica por la fórmula xΦn′(x)/Φn(x)=∑d∣nμ(n/d)xd−1d⋅xd, que es un entero módulo p no divisible por p cuando p∤n).
El resultado vp(an−bn)=1 para el primo primitivo p con p∤n es la clave de muchas aplicaciones olímpicas: nos dice que el primo primitivo aparece exactamente una vez en la factorización de an−bn.
p primitivo de an−bn,p∤n⟹vp(an−bn)=1 Identidad de los polinomios ciclotómicos y el primo primitivo
Resumamos la estructura que hace funcionar el teorema. La identidad fundamental es:
$an−bn=∏d∣nΦd(a,b),$
donde Φd(a,b)=bϕ(d)Φd(a/b) es el polinomio ciclotómico d-ésimo evaluado en (a,b). Los primeros valores son: Φ1(a,b)=a−b, Φ2(a,b)=a+b, Φ3(a,b)=a2+ab+b2, Φ4(a,b)=a2+b2, Φ6(a,b)=a2−ab+b2.
Ejemplos concretos: a6−b6=(a−b)(a+b)(a2+ab+b2)(a2−ab+b2). Para a=2,b=1: 63=1⋅3⋅7⋅3=63. Los factores son Φ1(2,1)=1, Φ2(2,1)=3, Φ3(2,1)=7, Φ6(2,1)=3. El factor Φ6=3 no introduce primo nuevo (el primo 3 ya estaba en Φ2). Esta es la excepción (2,1,6).
La estimación de tamaño. Para n≥3 (excluyendo las excepciones), Φn(a,b)≥(a−b)ϕ(n)≥1 y de hecho Φn(a,b)≥aϕ(n)−bϕ(n)⋅C para alguna constante C. El punto crucial es que Φn(a,b)>1 para n≥3 y (a,b)=(2,1) o n=6: si Φn(a,b)>1, tiene algún factor primo, y ese factor no puede dividir a ad−bd para d<n (pues dividiría entonces a gcd(an−bn,ad−bd)=agcd(n,d)−bgcd(n,d), y el análisis de cuándo Φn(a,b) puede ser dividible por un primo "viejo" se reduce a los casos excepción).
La fuerza del teorema de Zsygmondy en olimpiadas es que convierte la pregunta "¿existe un primo que divida a an−bn pero no a ak−bk para k<n?" en una afirmación que podemos usar como herramienta, sin necesidad de encontrar explícitamente ese primo.
an−bn=∏d∣nΦd(a,b),Φn(a,b)=∏d∣ngcd(d,n/d)=1⋯ Primer problema resuelto: $\gcd(2^m - 1, 2^n - 1) = 2^{\gcd(m,n)} - 1$
Este resultado clásico ilustra el poder del primo primitivo sin necesitar el teorema completo, pero abre la puerta para verlo.
Proposición. Para todos los enteros positivos m,n: gcd(2m−1,2n−1)=2gcd(m,n)−1.
Demostración. Sea d=gcd(m,n). Claramente 2d−1∣2m−1 y 2d−1∣2n−1 (pues d∣m y d∣n), así 2d−1∣gcd(2m−1,2n−1).
Para el otro lado, sea p un primo que divide a gcd(2m−1,2n−1). Entonces 2m≡1(modp) y 2n≡1(modp). Sea e=ordp(2); entonces e∣m y e∣n, luego e∣gcd(m,n)=d. Por lo tanto p∣2e−1∣2d−1.
Hemos demostrado que todo primo que divide al gcd(2m−1,2n−1) también divide a 2d−1. Para comparar las potencias exactas: si vp(2m−1)=vp(2−1)+vp(m)=0+vp(m) cuando p∣2−1=1... eso no aplica (LTE requiere p∣a−b=1, imposible para primo p). Usamos en cambio: vp(2m−1)=vp(2e−1)+vp(m/e) por LTE aplicado a 2m/e⋅e−1 con base A=2e, B=1, y p∣A−B=2e−1. Así vp(gcd(2m−1,2n−1))=min(vp(2m−1),vp(2n−1))=vp(2e−1)+min(vp(m/e),vp(n/e))=vp(2e−1)+vp(gcd(m/e,n/e)/e⋅e)... más limpiamente: vp(2d−1) cuando e∣d, lo que confirma gcd(2m−1,2n−1)=2d−1.
Este argumento generaliza: gcd(am−bm,an−bn)=agcd(m,n)−bgcd(m,n) para gcd(a,b)=1. El primo primitivo de ad−bd (para d=gcd(m,n)) es central en este cálculo.