You are on page 1of 80



Universidad Nacional de Salta


Facultad de Ciencias Exactas
Departamento de Matemtica

ARITMTICA ELEMENTAL
APUNTES DE CTEDRA
ENERO DE 2017

JORGE YAZLLE


ndice general

Captulo 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN 3


1. Ligero repaso de lgica proposicional 3
2. Conjuntos inductivos. Dos formas del Principio de Induccin 7
3. El Principio del Buen Orden (PBO) y el Principio del Contraejemplo Ms Chico (PCMC) 9
4. Equivalencia entre los cuatro principios 10
5. Aplicacin a la demostracin de proposiciones 11
6. Algunas propiedades del conjunto de los nmeros naturales 15

Captulo 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD 17


1. La notacin algortmica 17
2. Los nmeros enteros 21
3. La divisin de nmeros naturales 22
4. La divisin de nmeros enteros 26
5. Nmeros primos y compuestos 29
6. Algunas curiosidades 34

Captulo 3. MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO 37


1. Mximo comn divisor 37
2. Mnimo comn mltiplo 44
3. Ecuaciones diofantinas lineales 46

Captulo 4. EL TEOREMA FUNDAMENTAL DE LA ARITMTICA 49


1. Factorizacin de nmeros naturales: existencia y unicidad 49
2. Algunas consecuencias del Teorema Fundamental 52
3. Ternas pitagricas 54

Captulo 5. CONGRUENCIAS 57
1. Congruencia mdulo m 57
2. Propiedades generales de las congruencias 58
3. Ecuaciones de congruencia 63
4. Aspectos algebraicos de la congruencia: aritmtica modular 66

Apndice A. USO DEL SOFTWARE  SageMath 73


1. Generalidades 73
2. Distintos tipos de instrucciones 74
3. Algunos ejemplos 76
4. Manejo de listas 77

1
Captulo 1

PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA


ORDENACIN

En nuestra vida diaria, a travs de la observacin, podemos detectar hechos que ocurren con cierta frecuencia,
y que nos mueven a sacar conclusiones. El sol ha salido ya tantas veces, una por cada maana que hemos vivido,
que ni remotamente se nos ocurre que maana no va a salir. Si tiro hacia arriba, en forma perfectamente vertical,
este ladrillo en este descampado, mejor que me corra so riesgo de perder mi cabeza, pues s que el ladrillo, tarde
o temprano, va a regresar. Lo he visto muchas veces...
Hacemos lo que el diccionario de la Real Academia Espaola llama induccin. En realidad, tal palabra tiene
varios signicados, y el que nos interesa aqu es el siguiente: Extraccin, a partir de determinadas observaciones
o experiencias particulares, del principio general que en ellas est implcito. Suena a que hay algo experimental
en el proceso de induccin: deduzco algo general a partir de lo que experimento. Y, pensndolo bien, as es.
Pero el objetivo de este captulo no es el estudio de la induccin, sino de la induccin matemtica.
Qu es, pues, la induccin matemtica? Es un procedimiento riguroso para probar propiedades matemticas
relativas al conjunto de nmeros naturales. No hay nada experimental en el mtodo, como veremos. Por el
contrario, es una poderosa herramienta que nos ayuda en las demostraciones. Demostraciones de qu? Bueno,
demostraciones de propiedades que tal vez hemos obtenido por induccin en el sentido experimental (s, damas
y caballeros... se puede experimentar en la matemtica).
Por ejemplo, la seo mand al nio Karlitos a sumar los nmeros del 1 al 100. Fastidiado por la tarea que
le acababan de dar, pens cmo podra ahorrarse trabajo. Observ que

1 = 1 = 12
2
1 + 2 = 3 = 23
2
1 + 2 + 3 = 6 = 34
2
1 + 2 + 3 + 4 = 10 = 45
2
1 + 2 + 3 + 4 + 5 = 15 = 56
2

n(n+1)
y se dio cuenta de que, en esos casos analizados, la suma de los n primeros nmeros naturales es
2 . Y
1 + 2 + + 100 =
as como el sol va a salir maana en base a que viene saliendo todos estos das, ser que
= 5.050, evitando as el buen Karl la tediosa suma ordenada por la tirana?1 Ms generalmente, ser que
100101
2
1+2+ +n = n(n+1)
2 cualquiera sea el natural n? La frmula 1+2+ +n = n(n+1)
2 fue obtenida por induccin
(en el sentido de la R.A.E.). Pero necesitamos algo que dedignamente rigurosamente, ms bien nos muestre
que anda bien para todo n natural, no slo para los primeros casos. Para eso viene a nuestro auxilio el mtodo
de induccin matemtica, cuyo estudio es el objeto de este captulo. Para entrar en tema, ofrecemos primero un
somero repaso de cuestiones bsicas de la lgica proposicional, sobre la cual se fundan las demostraciones que
queremos estudiar.

1. Ligero repaso de lgica proposicional

Una proposicin es un enunciado acerca del cual tiene sentido preguntarse si es verdadero o falso en su con-
texto. Tpicamente, una proposicin asevera algo, y ese algo, en su contexto, puede ser verdadero o falso. En este

1
Karl Friedrich Gauss (1777 - 1855), enorme matemtico alemn, siendo apenas un nio recibi la consigna, por parte de su
profesor, de sumar los nmeros 1 a 100. No procedi por induccin, sino que acomod dos veces los nmeros 1 a 100 en dos las,
en una de ida y en otra de vuelta, como sigue:
1 + 2 + 3 + + 99 + 100
100 + 99 + 98 + + 2 + 1

101 + 101 + 101 + + 101 + 101
resultando as 100 columnas, cada una de las cuales, sumada, da 101. Sumar los resultados de esas 100 columnas corresponde a
sumar dos veces los nmeros 1 a 100. Luego,
100 101
1 + 2 + 3 + + 99 + 100 = = 5.050
2
Gauss not tambin que un razonamiento parecido andara muy bien si se suman los nmeros 1 a n, cualquiera sea n N.
3
4 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

curso, estamos interesados principalmente en aseveraciones referidas a los nmeros naturales (N = {0, 1, 2, 3, . . .})
y enteros (Z= {. . . , 3, 2, 1, 0, 1, 2, 3, . . .}). Simbolizamos a las proposiciones con letras minsculas (posible-
mente con subndices): p, q, r, s1 , t20 , etc. Si p es una proposicin verdadera, decimos que el valor de verdad de p
es verdadero (simbolizado v(p) = V ); en caso contrario, decimos el valor de verdad de p es falso (simbolizado
v(p) = F ).

1.1. Proposiciones compuestas. A partir de proposiciones dadas, pueden construirse otras propo-
siciones, denominadas proposiciones compuestas, empleando conectivos lgicos (negacin, conjuncin,
disyuncin, implicacin, doble implicacin, y combinaciones de todos ellos). Interesa entonces averiguar el va-
lor de verdad de la proposicin compuesta segn el valor de verdad de cada una de las proposiciones que se
utilizaron en la construccin de la compuesta, y los distintos casos que pueden presentarse se resumen en una
llamada tabla de verdad asociada a la proposicin compuesta que se est analizando. El sentido comn y el
uso del lenguaje cotidiano son de ayuda invalorable para entender el porqu de los valores de verdad de una
proposicin compuesta.
1.1.1. Negacin. Si p es una proposicin, su negacin, simbolizada p y leda no p, es tambin una
proposicin, cuyo valor de verdad es siempre distinto que el de p. Es decir, si v(p) = V , es v( p) = F , y si
v(p) = F , es v( p) = V . Todo esto se resume en la siguiente tabla de verdad:

p p
V F
F V
1.1.2. Conjuncin. Si pyq son proposiciones, su conjuncin, simbolizada pq y leda  p y q , es tambin
una proposicin, cuyo valor de verdad es verdadero nicamente en el caso en que p y q sean ambas verdaderas;
si una es falsa (o ambas lo son), la conjuncin es una proposicin falsa. He aqu su tabla de verdad, mostrando
todos los casos que pueden presentarse:

p q pq
V V V
V F F
F V F
F F F
La palabra pero tambin expresa una conjuncin. Por ejemplo, la proposicin soy pobre pero feliz, an con
una connotacin de oposicin, expresa que soy pobre y tambin que soy feliz. Por eso, su simbolizacin podra
ser p q, donde p es soy pobre y q es soy feliz.
1.1.3. Disyuncin. Si pyq son proposiciones, su disyuncin, simbolizada p q y leda  p o q , es tambin
una proposicin, cuyo valor de verdad es falso nicamente en el caso en que p y q sean ambas falsas; si una es
verdadera (o ambas lo son), la disyuncin es una proposicin verdadera. La tabla de verdad es, en este caso:

p q pq
V V V
V F V
F V V
F F F
1.1.4. Implicacin. Dadas dos proposiciones p y q, se puede construir una nueva proposicin, simbolizada
pq y leda Si p, entonces q . Tal proposicin se denomina implicacin, y expresa el hecho de que a partir
del conocimiento que nos entrega la proposicin p, puede deducirse la proposicin q. Ser falsa slo en el caso
en que, siendo p verdadera, sea q falsa. La tabla de verdad correspondiente es, entonces:

p q pq
V V V
V F F
F V V
F F V
Otras formas de leer p q:
1. Si p, q .
2. q si p.
3. p implica q.
4. p slo si q.
5. p es condicin suciente para q.
6. q es condicin necesaria para p.
1. LIGERO REPASO DE LGICA PROPOSICIONAL 5

En una implicacin p q , p se llama antecedente, premisa o hiptesis, y q se llama consecuente, con-


clusin o tesis. Debe observarse que si el antecedente es falso, la implicacin es verdadera. Interpretado, esto
nos dice que no podemos sacar conclusiones ables a partir de premisas falsas.
Dada una implicacin con antecedente p y consecuente q , se pueden construir otras implicaciones, que se
denominan implicaciones asociadas a p q . Ellas son:
Recproca: q p
Contraria: p q
Contrarrecproca: q p
La propia implicacin p q recibe, en este caso, el nombre de implicacin directa. Es destacable que la
directa y la contrarrecproca siempre tienen el mismo valor de verdad. Esto tendr consecuencias a la hora de
querer demostrar la veracidad de ciertas implicaciones.
Una implicacin p q expresa que si ocurre p, entonces ocurre q . Negar esto quiere decir que ocurra p pero
no ocurra q, p q . Veamos la siguiente tabla de verdad que muestra que, en cada caso, el valor de
es decir,
(p q) es el mismo que el de p q :

p q q p q pq (p q)
V V F F V F
V F V V F V
F V F F V F
F F V F V F
1.1.5. Doble implicacin o equivalencia lgica. Dos proposiciones p y q se dicen equivalentes, simbolizado
p q, si ambas tienen igual valor de verdad. En realidad, pq es otra proposicin cuya tabla de verdad es:

p q pq
V V V
V F F
F V F
F F V
La doble echa sugiere que pq y que q p, como efectivamente ocurre. Es decir,

(p q) (p q q p)
De all que reciba tambin el nombre de doble implicacin. Indistintamente, una doble implicacin se lee
de cualquiera de las siguientes formas:

1. p es equivalente a q.
2. p si, y slo si, q.
3. p es condicin necesaria y suciente para q.
Hay unas cuantas equivalencias lgicas famosas que son de mucha utilidad:

pp p p (q r) (p q) (p r)
pp p (p q) ( p) ( q)
( p) p (p q) ( p) ( q
pq qp (p q) p ( q)
p (q r) (p q) r (p q) ( p) q
pq qp (p q)  ( q p) 
p (q r) (p q) r p (q r) (p q) r
p (q r) (p q) (p r)

1.2. Formas proposicionales y cuanticadores. Expresiones como  x es argentino no pueden ser


calicadas como verdaderas o falsas, si es que x no est especicado. x est actuando como una variable. Cuando
se lo sustituya por algn ente concreto (por ej. Pel), se transformar en proposicin (Pel es argentino).
formas proposicionales, o
Expresiones como sta, en las que aparecen variables dando vueltas, se llaman
predicados, y se simbolizan con un nombre de proposicin seguido de la variable, puesta entre parntesis
(similar a la notacin empleada para las funciones). Por ejemplo, a  x es argentino se la puede simbolizar
como p(x). Debe haber un conjunto universal de referencia, del cual se puedan sacar valores para x (en nuestro
ejemplo anterior, podra ser el conjunto de todos los varones de este mundo). Puede haber ms de una variable
en una forma proposicional, por ejemplo q(m, n) podra ser  m > 2 n < 4 en el universo de los nmeros
naturales.
Hay dos formas de convertir a una forma proposicional p(n) en proposicin:

1. Sustituir la variable por algn valor concreto del conjunto universal.


2. Anteponerle un cuanticador. Los cuanticadores vienen en dos sabores:
6 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

a) Universal: n, p(n). n, p(n). Esta proposicin ser verdadera cuando p(n) sea
Se lee para todo
n por un elemento del conjunto universal.
verdadera para cualquier sustitucin de
b ) Existencial: n : p(n). Se lee existe n tal que p(n). Es verdadera cuando existe al menos una
sustitucin de n (por un elemento del conjunto universal) que hace que la correspondiente p(n) sea
verdadera.
Observacin: si una forma proposicional contiene ms de una variable, se debe antepo-
ner un cuantificador por cada variable. Por ejemplo: m, n : p(m, n), o m, n, p(m, n) (si,
como en el ltimo caso, el cuanticador es el mismo, y si m yn se mueven ambas en el mismo conjunto
universal, es costumbre abreviar diciendo m, n, p(m, n), o m, n : p(m, n), pero que quede claro que
esto es slo una abreviatura: implcitamente, hay dos cuanticadores en estos ejemplos).

Cmo se obtiene el valor de verdad de una proposicin del estilo n, p(n)? Segn lo dicho arriba, para demostrar
que es falsa basta con encontrar un valor para n tal que la correspondiente p(n) resulte falsa. Un n con esas
caractersticas se denomina contraejemplo. Si la proposicin fuese verdadera, hay que mostrar que p(n) es
verdadera para todos los n posibles. Si el conjunto universal en el que se mueve n fuese nito, podramos
demostrar la veracidad de la proposicin vericando que p(n) es verdadera caso por caso. Pero si el conjunto
universal fuese innito, jams terminaramos de probar todos los casos (y aclaremos que no alcanza con probar
con unos cuantos n). Una tcnica es seleccionar n0 arbitrario (es decir, representando a cualquier elemento del
conjunto universal) y ver que p (n0 ) es verdadero. Entonces, una demostracin de la veracidad de n, p(n) puede
tpicamente comenzar con Sea n0 un elemento cualquiera del conjunto universal... y terminar con Habiendo
deducido que p (n0 ) es verdadera, y siendo n0 arbitrario, se concluye la veracidad de n, p(n). Ms adelante,
veremos mtodos de decisin en el caso particular en que el universo de trabajo es N.
Muchas veces se dar el caso en que el universal es U pero nosotros queremos expresar que un cierto
predicado p(n) se cumple para un cierto subconjunto A de U . Podemos hacer esto de dos formas equivalentes:

n A, p(n) 
n, n A p(n)
En la ltima, al no especicar a qu conjunto pertenece n, se sobreentiende que es al conjunto universal U . Sin
embargo, lo que se arma es que, bajo la premisa de que n A, se cumple p(n). A los efectos de la veracidad, no
interesan los n que no estn en A, pues para ellos la expresin n A p(n) es verdadera. De all la equivalencia
entre ambas formas.
Cmo se obtiene el valor de verdad de una proposicin del estilo n : p(n)? Si es verdadera, una manera
es mostrar al menos un n0 del conjunto universal tal que p (n0 ) resulte verdadera. Para demostrar que es falsa,
una tcnica puede ser mostrar que su negacin es verdadera. Negacin de una proposicin con cuanticadores?
Cmo es so?
1.2.1. Negacin de proposiciones con cuanticadores. Negar que para todo n, p(n) puede hacerse muy
fcil y mecnicamente: no es cierto que para todo n, p(n). Si lo pensamos un poco, esto quiere decir que hay
al menos un n para el cual no se satisface p(n), es decir, existe n tal que p(n). Es lo que dice el sentido
comn. En smbolos:

n, p(n) equivale a n : p(n)
Negar que existe n tal quep(n) es lo mismo que decir que ningn n satisface p(n), o, equivalentemente, que
todos los n no satisfacen p(n) (esta ltima forma no es muy usada en el lenguaje coloquial, y no debe confun-
dirse con no todos los n satisfacen p(n), que corresponde a la negacin de una proposicin con cuanticador
universal). En denitiva:

n, p(n) equivale a n : p(n)
El mecanismo para negar una proposicin con cuanticador es fcil de recordar: se cambia el cuanticador y se
niega la forma proposicional.
Y si hay ms de un cuanticador? Lo mejor es ir por partes. Por ejemplo, si queremos negar que n :
m, z : p(m, n, z), podemos proceder paso a paso as:

n : m, z : p(m, n, z)
n, m, z : p(m, n, z) 
n, m : z : p(m, n, z)
n, m : z, p(m, n, z)
Y ya est, en la ltima lnea tenemos la negacin deseada. Podramos tambin haber procedido mecnicamente:
cambiamos los cuanticadores y negamos la forma proposicional.

1.3. Demostracin de implicaciones. Dada una proposicin del tipo p q, en donde p y q son a su
vez proposiciones (posiblemente con cuanticadores), interesa ver de qu manera podemos analizar su valor de
verdad. Si el antecedente p fuese falso, la demostracin ya est lista: la implicacin es verdadera. Pero lo ms
frecuente es encontrarse con implicaciones en las que el antecedente es verdadero, y a partir de ello se desea
probar la veracidad del consecuente. Es lo que pasa en los teoremas que nos han enseado: se supone verdadera
2. CONJUNTOS INDUCTIVOS. DOS FORMAS DEL PRINCIPIO DE INDUCCIN 7

la (o las) hiptesis, y, por aplicacin del razonamiento y de propiedades valederas, debe demostrarse que la
tesis es verdadera. Cuando se hace as, se dice que se ha empleado el mtodo directo de demostracin de
implicaciones.
Ahora bien, sabemos que la contrarrecproca de una implicacin tiene el mismo valor de verdad que la directa.
Entonces, demostrar la veracidad de p q es lo mismo que demostrar la de q p, que puede hacerse por
el mtodo directo. Para eso, se supone q verdadera y debe concluirse que p es verdad. O, equivalentemente,
se supone q falsa y debe probarse que p es falsa. Si se lo logra, la implicacin queda demostrada por el mtodo
indirecto. En resumidas cuentas, por este mtodo se parte de la falsedad del consecuente y debe arribarse a la
falsedad del antecedente.
Otro mtodo para demostrar que pq es verdadera: mostrar que su negacin p q es falsa. Para eso,
se puede arrancar suponiendo la veracidad de p y de q, y por manipulacin legtima debe arribarse a alguna
contradiccin. Si lo logramos, hemos demostrado la implicacin por el mtodo del absurdo.
Finalmente, unas palabras para la demostracin de una doble implicacin del tipo p q . Hay que demostrar
que pq y que q p. Muchas veces conviene considerar la contrarrecproca de esta ltima, y entonces la
doble implicacin queda demostrada a travs de los siguientes dos pasos:

1. suponiendo p verdadera, se deduce que q es tambin verdadera, y


2. suponiendo p falsa, se deduce que q es tambin falsa.

2. Conjuntos inductivos. Dos formas del Principio de Induccin

En la Teora de Nmeros que aprenderemos en este curso, es frecuente toparse con armaciones del estilo
 n N, p(n), en donde p(n) es un predicado en la variable natural n, e interesa averiguar su valor de verdad.
Conforme a lo que sabemos de proposiciones cuanticadas, la armacin con el cuanticador universal ser falsa
si p(n) es falsa al menos para un n natural, y verdadera si p(n) es verdadera cualquiera sea el natural n. En otras
palabras, si designamos por P al conjunto de todos los naturales n tales que p(n) es verdadera, la armacin
ser cierta si y slo si P = N. Esto nos lleva a preguntarnos, entonces, bajo qu condiciones un subconjunto P
de nmeros naturales, especicado por comprensin, es precisamente N. Es decir, dado P N, cmo decidir
si P = N? Claro que nuestra primera reaccin puede ser buscar algn natural que no satisfaga el requisito de
pertenencia a P . Qu pasa si, tras probar con muchos n, no lo encontramos? Ser que efectivamente P = N?
O ser que no hemos sido lo sucientemente astutos, o pacientes, en la bsqueda? En todo caso, podramos
en tal situacin conjeturar que P = N. Y entonces, cmo probar que la conjetura es cierta? Resulta que, tras
varios aos de discusiones, los matemticos se dieron cuenta de que hay varias formas muy tiles para decidir
si un subconjunto de los naturales es el conjunto de todos los naturales. El objetivo del resto del captulo es
explorar algunas de esas formas, que a primera vista pueden parecer muy diferentes, an cuando terminaremos
demostrando que son equivalentes. Las herramientas que aqu veremos han sido y son de mucha utilidad en la
demostracin de proposiciones del estilo de la que enunciamos al principio.

Definicin 1.1. Sea P un subconjunto de los nmeros reales. P se dice inductivo si satisface simultnea-
mente las siguientes dos condiciones:

1. 0 est en P
2. Si n es un nmero que est en P, entonces n+1 tambin est en P

Por una analoga con chas de domin que caen empujadas por su anterior (que acaba de caer) y que a
su vez harn caer a la que les siguen, muchas veces se dice que los conjuntos inductivos tienen la propiedad
domin.
Por ejemplo, el conjunto de todos los reales mayores o iguales que 0 es inductivo, as como el conjunto
de todos los enteros mayores que 5. El conjunto {0} no es inductivo, ni tampoco el de todos los enteros
mayores que 7. Adivine, querido lector, en qu categora caen los conjuntos {x R : 5 x 4 x 5} y
{x R : x = 0 x 1}.

Definicin 1.2. El conjunto de los nmeros naturales N se dene como el ms pequeo (en el sentido de
la contencin de conjuntos) de todos los subconjuntos de nmeros reales que son inductivos. Es decir, N est
caracterizado por las siguientes dos propiedades:

1. N es inductivo, y
2. si S es un subconjunto inductivo de R, entonces S N.

2.1. El Principio de Induccin, primera forma (PI1). De la propia denicin que hemos dado de
N, surge un primer criterio para decidir si un subconjunto P de N es todo N: vericar si P es inductivo. De
serlo, entonces P = N. Es decir:
8 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

Sea P N tal que satisfaga simultneamente:


a) 0 P
b) n N, (n P = n + 1 P )

Entonces P =N

De acuerdo a esto, para vericar si un dado subconjunto P de N es N, primero hay que ver si 0 P . De no ser
as, est claro que 6 N. Ahora si 0 P , hay que vericar el segundo requisito: tomar un natural n arbitrario,
P =
suponer que est en P , y mostrar que su consecutivo, n + 1, tambin est en P . Si es as, entonces P = N.
El PI1 es intuitivamente muy claro: primero pide que 0 est en P (que caiga el primer domin de la la).
Si adems estn los consecutivos de cada elemento en P (que cada domin, si cae, voltee al que le sigue), ya
sabiendo que 0 P , entonces 1 P , y de all que 2 P , de donde 3 P , as que 4 P , y por lo tanto 5 P ,
por lo cual . . . Termina siendo que todo natural est en P , es decir, N P . Como de entrada tenamos que
P N, debe ser P = N.
El hecho de vigilar que 0 P se llama base del proceso, y el de vericar que si n est en P entonces n + 1
tambin est en P , se llama paso inductivo. En este paso inductivo, el hecho de suponer que n P se llama
hiptesis inductiva, o hiptesis de induccin.

2.2. El Principio de Induccin, segunda forma (PI2). Segn este principio, hay que vigilar un solo
requisito, consistente en una modicacin al paso inductivo del PI1:

Sea P N tal que satisfaga:


 
n N, k N, (k < n k P ) = n P

Entonces P =N


Parece chino? Expliqumoslo en castellano: la expresin k N, (k < n k P ) signica que todos
los naturales menores (estrictamente) que n estn en P (la expresin podra haberse escrito tambin as: k <
n, k P , pero preferimos dejarla como est para recalcar que nuestro universo de trabajo es el conjunto de
todos los naturales); al estar como antecedente de la implicacin, quiere decir entonces que hay que interpretarla
como suponer que todos los naturales menores que n estn en P . Es nuestra hiptesis de induccin. Por lo
tanto, dado n N, la implicacin involucrada pide vericar si se puede concluir que n est en P bajo la
suposicin de que todos los naturales menores que n estn en P. En denitiva, el principio dice que se elija
un natural n arbitrario, y que se haga de cuenta que todos los naturales menores (estrictamente) que n estn
en P. Si con ello se logra demostrar que el propio n tambin est en P, entonces P = N. Para terminar de
entender intuitivamente el PI2, primero veamos que un subconjunto de naturales que satisface el requisito del
PI2 necesariamente contiene al 0.
Lema 1.3. Sea P N tal que satisfaga el requisito del PI2. Entonces 0 P .
Demostracin. Ya que se cumple el requisito, tenemos que, en particular, haciendo
 n = 0, es verdadera
la siguiente implicacin: k N, (k < 0 k P ) = 0 P . Como el antecedente de la misma es tambin
verdadero (pues no existe un natural menor que 0), deducimos que el consecuente debe ser verdadero, es decir,
0 P. 

Ahora expliquemos el porqu del PI2, es decir, por qu un P que satisfaga el requisito es todo N. Por el
lema, ya sabemos que 0 est en P. Como todos los naturales menores que 1 estn en P, del requisito surge que
1 est en P. Pero entonces, como todos los naturales menores que 2 estn en P, se tiene que 2 est en P, y,
continuando as, vemos que cualquier natural est en P.
Un comentario ms: el PI2 pide vericar que

suponiendo que todo natural menor que 0 est en P, 0 est en P


suponiendo que todo natural menor que 1 est en P, 1 est en P
suponiendo que todo natural menor que 2 est en P, 2 est en P
etctera

(lgicamente, no vamos a vericar una por una, sino que procederemos a travs de alguna generalizacin). Viendo
bien la implicacin correspondiente al 0, su antecedente es siempre verdadero. Por tanto, obligatoriamente hay
que controlar que 0 est en P . Por eso, muchos autores enuncian el PI2 con 2 requisitos: el que dimos aqu, ms
3. EL PRINCIPIO DEL BUEN ORDEN (PBO) Y EL PRINCIPIO DEL CONTRAEJEMPLO MS CHICO (PCMC) 9

el requisito de que 0 pertenezca a P. Si bien es redundante (ver el lema 1.3), no hay ningn pecado en ello (es
ms, recuerda al usuario que tarde o temprano debe vericar que 0 P ).

3. El Principio del Buen Orden (PBO) y el Principio del Contraejemplo Ms Chico (PCMC)

Ya desde chicos estamos concientizados de que si tomamos cualquier subconjunto de nmeros naturales,
ese subconjunto contendr un elemento ms chiquito que los otros miembros del conjunto, segn la ordenacin
natural que nos ensearon (la cosa puede ser distinta si preguntamos por el elemento ms grande del conjunto,
pero eso no viene al caso ahora). Vamos a formalizar esto a travs de una serie de deniciones.

Definicin 1.4. Dados dos conjuntos X e Y, el producto cartesiano X por Y , denotado X Y, es el


conjunto de todos los pares ordenados cuya primera componente est en X y cuya segunda componente est
en Y. X Y = {(x, y) : x X y Y }.
Es decir, Una relacin en X es cualquier subconjunto del producto
cartesiano X X.
Definicin 1.5. Sea R una relacin en X . R es reexiva si x X, (x, x) R. R es antirreexiva si

/ R. R es antisimtrica
x X, (x, x)  si x, y X, (x, y) R (y, x) R = x = y . R es transitiva si
x, y, z X, (x, y) R (y, z) R = (x, z) R.
Definicin 1.6. Una relacinR transitiva en X se llama un orden para X , y decimos entonces que X est
ordenado por R. Si R, decimos que x e y son comparables. R es un orden total para X si es
(x, y) est en
un orden en el cual dos elementos cualesquiera de X son comparables, es decir, x, y X, (x, y) R(y, x) R.
Una relacin de orden que es tambin antisimtrica y reexiva se dice un orden amplio, en tanto que una
relacin de orden antirreexiva se llama un orden estricto.
En la teora general de rdenes, es usual emplear el smbolo en cuenta de R para simbolizar una relacin
de orden amplio, y decimos ab ( a es menor o igual que b) en lugar de (a, b) . Adems, si a b pero
a 6= b, escribimos a<b ( a es menor que b); < es una relacin de orden estricto.

Definicin 1.7. (el orden usual de N) Sean a, b N. Se dice que ab si existe cN tal que a + c = b.
Queda como ejercicio comprobar que la relacin as denida es efectivamente un orden amplio para N.
Definicin 1.8. Sea A un subconjunto de un conjunto X ordenado por una relacin . Se dice que A
posee primer elemento, o mnimo elemento, si existe m A tal que x A, m x.
Definicin 1.9. Un conjunto X ordenado por se dice bien ordenado si todo subconjunto no vaco de
X posee un mnimo elemento.

PRINCIPIO DEL BUEN ORDEN: N, con su relacin de orden usual, es un conjunto bien
ordenado. Es decir, todo subconjunto no vaco del conjunto de los nmeros naturales posee
elemento mnimo.
Y as de sencilla es la formulacin del principio del buen orden. Por supuesto que responde a lo que
intuitivamente uno espera: si un conjunto P N es no vaco, tiene al menos un elemento n0 P . O bien ese n0
es el elemento mnimo en P, o bien hay algn elemento n1 P tal que n0 > n1 . O bien ese n1 es el elemento
mnimo en P, o bien hay algn elemento n2 P tal que n1 > n2 . As siguiendo, estamos desarrollando un
proceso de bsqueda que debe nalizar, tarde o temprano, pues la lista estrictamente decreciente de nmeros
naturales que vamos obteniendo no puede ser innita.
Una manera de plasmar el PBO en una herramienta para decidir si un subconjunto P de naturales es todo
N, es el siguiente PRINCIPIO DEL CONTRAEJEMPLO MAS CHICO:

Sea P N tal que satisfaga: 


n N, n
/ P = k N : (k < n k
/ P)

Entonces P =N

De nuevo, a no asustarse con los jeroglcos. El principio establece que si por cada nmero natural que no
estuviese en P fusemos capaces de encontrar un nmero natural menor que tampoco est en P, entonces P
debe contener a todos los naturales. Esta conclusin es clara: si se cumpliera el requisito, y si hubiera un natural
n0
/ P, seramos capaces de encontrar una sucesin estrictamente decreciente innita de naturales, cosa que es
imposible.
 
El requisito n N, n
/ P = k N : (k < n k
/ P) fue escrito as para hacer hincapi en que

talk es un nmero natural. Si se da eso por sobreentendido, el requisito tambin podra haberse escrito as:
n N, n / P = (k < n : k / P ) . Notemos entonces que, por contrarreciprocidad, el principio establece
que si P 6= N, entonces n N : (n
/ P k < n, k P ).
10 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

4. Equivalencia entre los cuatro principios

Ahora demostraremos que si se acepta como verdadero cualquiera de los principios vistos, en base a so se
puede deducir la veracidad de cualquiera de los restantes. Para hacerlo, demostraremos el siguiente esquema de
implicaciones:
PI1 = PI2

PCMC = PBO

1. PI1=PI2. Nuestra hiptesis es que


 
Q N, 0 Q (n N, n Q n + 1 Q) = Q = N
y debemos demostrar que
!
  
P N, n N, k N, (k < n k P ) = n P = P = N

Supongamos entonces que un subconjunto P de los naturales satisface que


  
n N, k N, (k < n k P ) = n P
Nuestro objetivo es demostrar que P = N, suponiendo vlido el PI1. Hagamos
Q = {n N : para todo natural i n, i P }
Notemos que Q P : si n Q, se tiene que para todo natural i n, i P . En particular, n P .
Veriquemos ahora que Q satisface los requisitos del PI1: como 0 P (lema 1.3), entonces 0 cumple
la condicin de pertenencia a Q. Ahora sea n cualquier natural en Q. Esto quiere decir que para todo
natural i n, i P . Dicho de otro modo, para todo natural i < n + 1, i P . Ya que estamos
suponiendo que P cumple el requisito del PI2, deducimos que n + 1 est en P . Por lo tanto, para todo
natural i n + 1, i P . Luego, n + 1 Q. Como Q satisface los dos requisitos del PI1 que hemos
aceptado como vlido, es Q = N. Ya que Q P , concluimos que N P , y como de entrada tenamos
que P N, llegamos a que P = N, segn desebamos.
2. PI2=PBO. Ahora nuestra hiptesis es que
!
  
P N, n N, k N, (k < n k P ) = n P = P = N

y nuestor objetivo es demostrar que

M N, M 6= = M tiene primer elemento

Sea entonces M un subconjunto de los naturales, y hagamos de cuenta que M no tiene un mnimo
elemento. Llamemos P = N M , y veamos que P n cualquier nmero
satisface el requisito del PI2. Sea
natural, y supongamos que todos los naturales estrictamente menores que n
P . Luego, ningn
estn en
natural menor que n est en M . Entonces, puede ser que n M ? No, pues sino n sera elemento
mnimo en M , pero hemos supuesto que M no tiene elemento mnimo. Entonces, n / M , por lo que
n P . O sea que P satisface el requisito del PI2, que al ser aceptado como verdadero fuerza a que
P = N. Entonces es M = . Qu hemos demostrado? Que si un subconjunto de los naturales no tiene
mnimo elemento, entonces es el conjunto vaco. Esto es equivalente (por contrarrecproca) a que si un
subconjunto de los naturales no es vaco, entonces tiene mnimo elemento.
3. PBO=PCMC. Tenemos como hiptesis que

M N, M 6= = M tiene primer elemento

y queremos probar que


!
 
P N, n N, n
/ P k N : (k < n k
/ P) = P = N
 
Sea P N satisfaciendo que n N, n
/ P = k N : (k < n k
/ P ) . Hagamos M = N P . Si
fueseM 6= , por el PBO tendra un elemento mnimo m. Por la denicin de M , se tiene que m / P.
Pero como P satisface el requisito del PCMC, existira un natural k < m tal que k / P , por lo que
k M . Pero esto es una contradiccin, pues debe ser k m ya que m es el primer elemento en M . La
contradiccin provino de suponer que M 6= . Entonces debe ser M = , y de all que P = N.
4. PCMC=PI1. Aqu la hiptesis es que
!
 
P N, n N, n / P k N : (k < n k / P) = P = N
5. APLICACIN A LA DEMOSTRACIN DE PROPOSICIONES 11

y debemos demostrar que


 
P N, 0 P (n N, n P n + 1 P ) = P = N
Sea entonces P N P = N. Supongamos que
satisfaciendo los dos requisitos del PI1. Debemos ver que
P 6= N. Luego, por el PCMC (versin contrarrecproca), hay un n N tal
eso no fuese cierto, es decir,
que n / P pero k < n, k P . Tal n no puede ser 0, pues hemos supuesto que 0 P . Entonces es
n > 0. Pero entonces n 1 P pues n 1 < n. Y como P satisface tambin el segundo requisito del
PI1, ya que n 1 P , concluiramos que n P , contradiciendo que n
/ P . La contradiccin provino
de suponer P 6= N. Luego, es P = N.

5. Aplicacin a la demostracin de proposiciones

Supongamos que queremos demostrar una proposicin del estilo  n N, p(n), con p(n) predicado sobre
la variable natural n. P = {n N : p(n) es verdadera} y comprobar si
Como ya dijimos, esto equivale a hacer
P = N. Por el PI1, esto se satisface si 0 P y si n N, n P n+1 P . Por la denicin de P , estos ltimos
equivalen a ver si p(0) es verdadera y si suponiendo p(n) verdadera puede deducirse que p(n + 1) tambin lo es.
Arribamos entonces a la siguiente formulacin del PI1 para demostrar la veracidad de  n N, p(n).

Sea p(n) un predicado (sobre la variable natural n) que satisfaga simultneamente:


a) p (0) es verdadero
b) n N, si p(n) es verdadero, entonces p (n + 1) es tambin verdadero

Entonces, la proposicin  n N, p(n) es verdadera.

Ejemplo 1.10. Vericar que n N, 1 + n = n + 1.


La forma proposicional p(n) a considerar es  1
+ n = n + 1.
1. Primero veriquemos que p (0) es verdadera, es decir, que 1 + 0 = 0 + 1. Es cierto, pues ambos miembros
de la igualdad valen 1.
2. Ahora, siendo n cualquier natural, suponemos p(n) verdadero: 1 + n = n + 1. Tomando eso como cierto,
debemos ver que p(n + 1) tambin lo es, es decir, que 1 + (n + 1) = (n + 1) + 1. Por propiedad asociativa
y en virtud de la hiptesis de induccin tenemos que 1 + (n + 1) = (1 + n) + 1 = (n + 1) + 1, es decir,
hemos probado la igualdad que queramos.

Ya que se cumplen los dos requisitos del PI1 para la proposicin analizada, concluimos que sta es verdadera,
es decir, n N, 1 + n = n + 1. 
Ejemplo 1.11. Decidir si es cierto que n N, 2n 1.
n
La forma proposicional p(n) a considerar es  2 1.
0 0
1. Primero veriquemos que p(0) es verdadera, es decir, que 2 1. Es cierto, pues 2 = 1.
n
2. Ahora, siendo n cualquier natural, suponemos p(n) verdadero: 2 1. Tomando eso como cierto,
n+1
debemos ver que p(n + 1) tambin lo es, es decir, que 2 1. Por propiedades de las potencias,
2n+1 = 21 2n = 2 2n . Por hiptesis inductiva, se tiene que 2 2n 2 1 = 2 1, de modo que, por
n+1
transitividad de la relacin , es 2 1, segn queramos probar.
Ya que se cumplen los dos requisitos del PI1 para la proposicin analizada, concluimos que sta es verdadera,
es decir, n N, 2n 1. 
n
Ejemplo 1.12. Analizar el valor de verdad de la proposicin n N, 2 + 2 > n
n
En este ejemplo, p(n) es  2 + 2 > n.
1. Comenzamos vericando la base de la induccin (el caso n = 0): hay que ver si 20 + 2 > 0. Eso es cierto,
0
pues 2 + 2 = 3 > 0.
2. Ahora suponemos p(n) verdadero, o sea que nuestra hiptesis de induccin es que 2n + 2 > n. Debemos,
n+1
en base a esto, demostrar que 2 + 2 > n + 1. Aprovechamos nuestro conocimiento de la potenciacin
n+1
para decir que 2 + 2 = 2 2 + 2 = 2n + (2n + 2). Ahora, aprovechamos nuestra hiptesis inductiva
n 1
n n n n
para decir que 2 + (2 + 2) > 2 + n n + 1 (hemos usado que 2 1 cualquiera sea n, cosa que
n+1
hemos vericado en el ejemplo 1.11). Por transitividad, tenemos entonces que 2 + 2 > n + 1, o sea,
el p(n + 1) que queramos probar.

Habiendo vericado que los dos requisitos del PI1 se satisfacen, podemos concluir la veracidad de la proposicin
n N, 2n + 2 > n. 
Es de destacar que, en el proceso de vericacin por induccin, es de fundamental importancia vigilar el cumpli-
miento de los dos requisitos, para no obtener conclusiones errneas.
12 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

Ejemplo 1.13. Decidir si es cierto que n N, n5 10n4 + 35n3 50n2 + 24n = 0.


5 4 3 2
Aqu, p(n) es  n 10n + 35n 50n + 24n = 0. Claramente es verdadero para n = 0 (y dicho sea de
5 4 3 2
paso, para n = 1, 2, 3 y 4, lo que puede verse fcilmente por factorizacin: n 10n + 35n 50n + 24n =
n(n1)(n2)(n3)(n4)). Pero del hecho que, para un n cualquiera, se tenga que n 10n +35n 50n2 +24n
5 4 3
5 4 3 2
sea igual a 0, no puede inferirse que la expresin (n + 1) 10(n + 1) + 35(n + 1) 50(n + 1) + 24(n + 1) vaya
a ser tambin igual a 0 (probar con n = 4). Si slo nos limitramos a vericar el requisito de ser p(0) verdadero
para comprobar la veracidad de la armacin, caeramos en un error, pues la proposicin es falsa. De paso, este
ejemplo nos muestra que una induccin (experimental) sin un razonamiento, o sin bsqueda de razones, puede
llevarnos a conclusiones errneas, por ms casos experimentales que veriquemos. 
Ejemplo 1.14. Verdadero o falso?: Todo nmero natural es igual a su sucesor. En smbolos: n N, n =
n + 1.
En este caso, p(n) es  n = n+1. Supongmosla verdadera para n, es decir, supongamos n = n+1. Sumando
1 a cada miembro, llegaramos a que (n + 1) = (n + 1) + 1, es decir, p(n + 1) sera verdadera. Luego, se satisface
el segundo requisito del PI1. Sin embargo, sera equivocado tildar a la proposicin como verdadera por esa sola
comprobacin. Falta vericar p(0). Y resulta que p(0) es falsa. Luego, la proposicin es falsa. 
Tambin se puede adaptar el PI2 para la demostracin de proposiciones. La formulacin del mismo resulta
as:

Sea p(n) un predicado (sobre la variable natural n) que satisfaga:


n N, si p (k) es verdadero para todo natural k < n, entonces p(n) es tambin verdadero.

Entonces, la proposicin  n N, p(n) es verdadera.

Remarquemos que, si bien no est explcitamente escrito, tarde o temprano debe vericarse que p(0) es verdadera
(est implcitamente pedido en el requisito, para el caso n = 0).
Ejemplo 1.15. Demostrar que n N, 2n + 2 > n (la misma que hace un rato demostramos por el PI1).
Sea n N. Debemos suponer verdadera la siguiente hiptesis inductiva:

para todo k natural menor que n, 2k + 2 > k


y tratar, a partir de ello, de deducir que 2n + 2 > n.
A efectos de aplicar, de algn modo, la hiptesis de induccin, debemos trabajar sobre la expresin 2n + 2.
Tal vez, la mejor forma de hacerlo sea notar que 2n + 2 = 2 2n1 + 2 = 2n1 + 2n1 + 2. Si bien n 1 es
estrictamente menor que n, no sera un nmero natural si fuese n = 0 (y, por lo tanto, no podramos usar la
hiptesis de induccin de que 2n1 + 2 > n 1). Esto nos hace ver que, para demostrar el cumplimiento del
requisito del PI2 en este caso, podemos considerar dos casos: el caso n=0 y el caso n1 (como dijimos, tarde
o temprano necesitamos vericar p(0) por separado):

1. Para n = 0: lo que hay que probar es que si para todo k natural menor que 0, 2k + 2 > k , entonces
0
2 + 2 > 0. Alcanza con ver que el consecuente de esta ltima implicacin es verdadero. Y lo es, pues
20 + 2 = 1 + 2 = 3 > 0.
n
2. Para n 1, hacemos la descomposicin de 2 + 2 como decamos ms arriba, pero ya sin el peligro
n n1
de que n 1 no sea natural: 2 + 2 = 2 2 + 2 = 2n1 + 2n1 + 2. Ahora s, con total seguridad,
n1
aplicamos la hiptesis de induccin (caso k = n 1) para decir que 2 + 2n1 + 2 > 2n1 + n 1 n
n1
pues 2 1 0 cuando n 1. Por transitividad, tenemos entonces que 2n + 2 > n, segn queramos.
Acabamos de vericar que se cumple el requisito del PI2, es decir, que la implicacin involucrada se cumple para
todo n natural. Por lo tanto, estamos en condiciones de armar que la proposicin bajo estudio es verdadera.

Ejemplo 1.16. Consideremos la funcin de N en N denida por:


n

2 si n es par
f (n) =
n+1 si n es impar

Nos interesa ahora la aplicacin reiterada de esta funcin a partir de un cierto nmero natural, como vemos en
los siguientes ejemplos:

1. f (3) = 4, f (4) = 2, f (2) = 1.


2. f (9) = 10, f (10) = 5, f (5) = 6, f (6) = 3, f (3) = 4, f (4) = 2, f (2) = 1.
 
Es decir, estamos haciendo f f f (n0 ) , la composicin de f consigo misma un cierto nmero de veces.

Designamos f (m) (n0 ) a la composicin de f consigo misma una cantidad m de veces. De los ejemplos anteriores,
vemos que f (3) (3) = 1, f (3) (9) = 6, f (7) (9) = 1. Por el PI2, probaremos que empezando con cualquier n y
5. APLICACIN A LA DEMOSTRACIN DE PROPOSICIONES 13

aplicando reiteradamente f, tarde o temprano obtenemos0 o 1. Es decir, mostraremos que n N, m 1 :


f (m) (n) 1. La forma proposicional m 1 : f (m) (n) 1.
p(n) es
(1)
Vericamos primero para n = 0: basta con tomar m = 1, pues f (0) = f (0) = 0 1.
Para facilitar la demostracin, tambin veremos que para n = 1 se cumple: tomando m = 2, tenemos

f (2) (1) = f f (1) = f (2) = 1, as que p(1) es tambin verdadera.
(m)
Ahora sea n N, y supongamos que para todo k < n existe m 1 tal que f (k) = 1. Podemos considerar
que n 2 pues los otros casos ya fueron demostrados.

Si n es par, es f (n) = n/2, que es un natural menor que n, y entonces, por hiptesis inductiva, existe
0 0 0
m0 1 tal que f (m ) (n/2) = 1. Por lo tanto, f (m ) f (n) = 1, es decir, f (m +1) (n) = 1. Luego, basta

0 (m)
con tomar m = m + 1 1 para tener f (n) 1.
(2)
Si n es impar, es f (n) = n + 1, y f (n) = (n + 1)/2 que n. Entonces, por
0 (m0 ) n+1
 , que es un natural menor(m0 ) (2)

hiptesis inductiva, existe m 1 tal que f = 1 . Por lo tanto, f f (n) = 1, es decir,
2
0
f (m +2) (n) = 1. Luego, basta con tomar m = m0 + 2 1 para tener f (m) (n) 1.
Luego, sea n par o impar, tenemos que p(n) es cierta. Como se satisface el requisito del PI2, la proposicin
n, p(n) resulta verdadera. 
Atencin: el requisito del PI2 pide una vericacin para todo n natural. No puede quedar ninguno fuera
de esta vericacin, pues de lo contrario podramos incurrir en errores, como mostramos ahora.

Ejemplo 1.17. Usando el PI2, mostraremos que n N, 2n = 1.


k
n N. Supongamos que para todo k < n se
Sea verique 2 = 1. Es decir, 20 = 21 = 22 = = 2n1 = 1.
n n1 1
Entonces, 2 = 2 2 = 1 1 = 1. Lista la demostracin.
Obviamente, hemos incurrido en alguna equivocacin, o nos falta algo. No puede ser que la funcin ex-
ponencial sea constante! Veamos un poco: cuando escribimos 2n = 2n1 21 y aplicamos nuestra hiptesis de
induccin, estamos conando ciegamente en que n1 y 1 son dos naturales estrictamente menores que n (slo
as estamos autorizados a aplicar la hiptesis de la induccin). Pero n1 es natural slo en el caso en que
n 1, y 1 es estrictamente menor que n slo en el caso en que n 2. Por lo tanto, lo que hemos hecho en la
(errnea) demostracin anterior es vericar el cumplimiento del requisito del PI2 slo para los n 2. Como se
debe vericar para todo n, n = 0 y n = 1. Es decir,
faltan considerar los casos faltan comprobar:

1. Si p(k) es verdadero para todo k < 0, entonces p(0) es verdadera.


2. Si p(k) es verdadero para todo k < 1, entonces p(1) es verdadera.
Reemplazando p(k), reenunciemos las dos cosas que faltan comprobar:
k 0
1. Si 2 = 1 para todo k < 0, entonces 2 = 1. Se trata de una implicacin verdadera, pues su antecedente
y su consecuente son ambos verdaderos.
2. Si 2k = 1 para todo k < 1, entonces 21 = 1. Como el nico natural menor que 1 es 0, hay que
0 1 1
demostrar que suponiendo 2 = 1, es 2 = 1. Es evidente que es falsa (pues 2 6= 1), aunque en nuestra
demostracin falaz de ms arriba pareciera haber quedado demostrada. Pero ya hemos explicado por
qu la demostracin no inclua el caso n = 1 (que en denitiva es el nico que falla).
Resumiendo, si alguien nos demuestra que n N, 2n = 1 escribiendo la demostracin falaz de ms arriba,
debemos decirle: muy bonito todo lo que hiciste, est muy bien. Pero te falta probar los casos n = 0 y n = 1.
Al caso n = 0 te lo creo. Me mostraras, por favor, el caso n = 1? e ir a tomar tranquilos una cerveza mientras
0 1
el otro pobre se aboca a la imposible tarea de demostrar que si 2 = 1, entonces 2 = 1. 
Y la formulacin del PCMC, versin proposicional, es as:

Sea p(n) un predicado (sobre la variable natural n) que satisfaga:


n N, si p(n) es falso, entonces existe un natural k < n tal que p (k) es tambin falso

Entonces, la proposicin  n N, p(n) es verdadera.

Ejemplo 1.18. Considerar la siguiente funcin f de naturales en naturales:



1 si n=0
f (n) =
2f (n 1) si n 6= 0
As, f (0) = 1, f (1) = 2f (0) = 2 1 = 2, f (2) = 2f (1) = 2 2 = 4, f (3) = 2f (2) = 2 4 = 8, etc. Conjeturamos
entonces que, para todo n N, es f (n) = 2n . Lo demostraremos usando el PCMC. Nuestra proposicin p(n) es
n
 f (n) = 2 . Supongamos que hubiera un contraejemplo, es decir, p(n) es falso para algn n N. Esto quiere
n 0 0
decir que f (n) 6= 2 . Claro que no puede ser n = 0, pues f (0) = 1 y 2 = 1, de donde f (0) = 2 . Entonces debe
n n1
ser n 1. En ese caso, f (n) = 2f (n 1), por lo que 2 6= 2f (n 1), y entonces 2 6= f (n 1). Hagamos
14 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

k = n 1, que es natural (pues es n 1) estrictamente menor que n. Llegamos entonces a que f (k) 6= 2k , es
decir, k es un contraejemplo, y menor que n. En sntesis, hemos demostrado que si hubiera un contraejemplo
n
(n), habra un contraejemplo menor (k ). Luego, por el PCMC, es verdadera la proposicin n N, f (n) = 2 .

5.1. Algunas variantes.


Supongamos que deseamos probar una proposicin del tipo  n n0 , p(n), en donde n0 es un natural
dado (no necesariamente 0) y n es una variable natural. El PI1 adaptado a este caso consiste en vigilar:

1. p (n0 ) es verdadera, y
2. n n0 , suponiendo que p(n) es verdadera, demostrar que p(n + 1) es tambin verdadera.

El fundamento de esta adaptacin es sencillo: las proposiciones

n n0 , p(n) y n N, p (n + n0 )
son equivalentes (pues ambas son verdad si y slo si son verdaderas p (n0 ) , p (n0 + 1) , p (n0 + 2), etc). Por el
PI1,  n N, p (n + n0 ) es cierta si p (n0 ) es cierta y si para cualquier n N, el suponer p (n + n0 ) verdadera
implica que p (n0 + n + 1) tambin lo es; esto ltimo es lo mismo que ver si para cualquier n n0 se tiene que
p (n) implica p (n + 1).
Ntese que el mtodo tambin andara bien en caso de ser n0 un entero (no necesariamente natural), y n
variable entera.

Ejemplo 1.19. Mostrar que n 4, 2n > n + 11.


4
1. Es p(4) verdadera? S, pues 2 = 16 > 4 + 11 = 15.
n
2. Sea n cualquier natural mayor o igual que 4, y supongamos p(n) verdadera, es decir, 2 > n + 11. Es
n+1 n+1 n
p(n + 1) verdadera? Es decir, es cierto que 2 > n + 12? Veamos: 2 = 2 2 > 2(n + 11) =
n + 22 + n > n + 12. Entonces, se cumple el segundo requisito del PI1 adaptado.
Por lo tanto, la proposicin queda demostrada. 
Ms generalmente, supongamos que deseamos probar una proposicin del tipo  n A, p(n), donde
p(n) es un predicado en la variable natural n y A es un subconjunto innito de N, pero no todo N. Por ejemplo,
 n natural impar, p(n). Esto equivale a  n N, p(2n + 1), por lo que podemos intentar demostrar esta
ltima por alguno de los mtodos vistos, por ejemplo PI1, que exigira en este caso probar primero la veracidad
de p(1), y luego, suponiendo p(2n + 1) verdadero, probar p(2n + 3).
Supongamos que deseamos probar una proposicin del tipo  n Z, p(n), donde p(n) es un predicado
en la variable entera n. Esa proposicin es equivalente a la conjuncin
 
n N, p(n) n N, p(n)
de modo que una tctica puede ser probar, por separado, cada proposicin por alguno de los mtodos vistos.
Podemos extender los mtodos vistos a proposiciones que involucren dos o ms variables naturales.
Por ejemplo, m, n N, p(m, n) en donde p(m, n) es un predicado en las variables naturales m y n. Para usar el
PI1, una tcnica puede ser tomar un m arbitrario (por claridad notacional podramos llamarlo m0 ) y demostrar
que p (m0 , 0) es verdadera y que, cualquiera sea n N, p (m0 , n) implica p (m0 , n + 1) (observar que habiendo
jado m0 , estamos haciendo induccin en la variable n).

Ejemplo 1.20. Mostrar que m, n N, (m + 1)(n + 1) 1.


En este caso, p(m, n) + 1)(n + 1) 1. Sea m0 cualquier natural, y demostremos, por induccin
es  (m
matemtica en la variable n, que n N, p (m0 , n):

1. p (m0 , 0) es  (m0 + 1) (0 + 1) 1. Es verdadera, pues, siendo m0 0, es (m0 + 1) (0 + 1) = m0 + 1


0 + 1 = 1.
2. Supongamos ahora que p (m0 , n) es verdadera, siendo n un natural arbitrario. Vale decir, supongamos
que (m0 + 1) (n + 1) 1. Debemos ver que p (m0 , n + 1) es tambin cierta, es decir, que

(m0 + 1) (n + 2) 1
Desarrollando, y aplicando hiptesis de induccin, tenemos:

(m0 + 1) (n + 2) = (m0 + 1) (n + 1 + 1) = (m0 + 1) (n + 1) + (m0 + 1)


1 + (m0 + 1) 1
As que se satisfacen ambos requisitos del PI1 para p (m0 , n). Por lo tanto, para el m0 elegido, es cierta la
proposicin n, p (m0 , n). Pero m0 se eligi arbitrariamente en el conjunto de los naturales. Por lo tanto, se
tiene que m, n, p(m, n), como queramos. 
Tambin, dada una proposicin del tipo m N, n N, p(m, n), podemos designar q(m) al predicado
n N, p(m, n) y probar por induccin sobre m la proposicin m N, q(m). En este caso, la base de la
induccin es n N, p(0, n) (que a su vez puede ser probada por induccin sobre n o por cualquier otro
mtodo). Luego, la hiptesis de induccin es que n N, p(m, n) y la tesis de induccin es n N, p(m + 1, n).
6. ALGUNAS PROPIEDADES DEL CONJUNTO DE LOS NMEROS NATURALES 15

Ejemplo 1.21. Demostrar que m, n N, m + n = n + m, por el mtodo arriba descripto.


p(m, n) a la forma proposicional m + n = n + m. La base de la induccin consiste en probar
Designemos por
que n N, 0 + n = n + 0. Resulta cierta pues el 0 es el neutro de la suma.
Ahora, sea m cualquier natural, y supongamos que n N, m + n = n + m. Debemos probar que n
N, (m + 1) + n = n + (m + 1). Sea n cualquier natural. De la hiptesis inductiva y la asociatividad de la suma,
se tiene que (m + 1) + n = (1 + m) + n = 1 + (m + n). Nuevamente por hiptesis inductiva y asociatividad,
tenemos que 1 + (m + n) = 1 + (n + m) = (1 + n) + m. Usando que 1 conmuta con cualquier natural (que
demostramos en el ejemplo 1.10), es (1 + n) + m = (n + 1) + m = n + (1 + m). Luego, (m + 1) + n = n + (m + 1),
segn queramos probar. 
Siguiendo con el mismo tipo de proposiciones del inciso anterior, podemos aplicar el PCMC de la
siguiente forma: suponiendo que el par (m, n) (m0 , n0 )
es contraejemplo, demostrar que existe un contraejemplo
menor (en algn sentido) que (m, n). Por ejemplo, menor en el sentido de las primeras componentes (m < m), o 0
0 0 0
menor en el sentido de las segundas componentes (n < n), o menor en suma de componentes (m + n < m + n),
etc.

Ejemplo 1.22. La denicin de factorial de un nmero natural es:



1 si n=0
n! =
n(n 1)(n 2) . . . 2 1 si n 6= 0
Observar que el factorial de cualquier nmero siempre es un entero positivo, y que si n > 0, es n! = n(n1)!.
Demostrar: m, n N, m > n = m! n!
Aqu, p(m, n) es  m > n = m! n!. Sea (m, n)
un contraejemplo, es decir, m > n m! < n!. No puede
ser n = 0, por la propia denicin de factorial. Entonces es m > n 1. Pero entonces m(m 1)! < n(n 1)! <
m(n 1)!. Cancelando, se tiene (m 1)! < (n 1)!. Por otro lado, es m 1 > n 1, pues hemos supuesto
m > n. Hagamos m0 = m 1 y n0 = n 1. De lo visto, es m0 > n0 m0 ! < n0 !, es decir, el par (m0 , n0 ) es
tambin contraejemplo, y ms chico que (m, n) (en el sentido de la primera componente). Luego, la proposicin
es verdadera. 

6. Algunas propiedades del conjunto de los nmeros naturales

Para poder estudiar propiedades en el conjunto de los nmeros naturales, es necesario aceptar ciertos
enunciados como base: son los axiomas acerca de los nmeros naturales. Durante mucho tiempo, los
matemticos han buscado minimizar la lista de axiomas, es decir, tomar los axiomas ms simples y en menor
cantidad posible, que permitan construir la teora de los nmeros naturales tal como la conocemos, en donde
valgan propiedades como la conmutatividad de la suma, la asociatividad del producto, etc., y a partir de los
cuales puedan derivarse todas las proposiciones verdaderas acerca de los naturales. Hay consenso en que quien
mejor hizo la tarea de minimizacin es el lgico y matemtico italiano Giuseppe Peano, a travs de los siguientes
cinco axiomas:

1. 0 N.
2. a N, a + 1 N.
3. a, b N, a 6= b a + 1 6= b + 1.
4. a N, a + 1 6= 0.
5. Es vlido el principio del buen orden.

Dejamos el interrogante de si estos cinco axiomas son sucientes para obtener todas las proposiciones verdaderas
sobre los nmeros naturales. El tema es profundo, y se trata detalladamente en un curso posterior: el de
Fundamentos de la Matemtica.
El hecho de incorporar axiomticamente el principio del buen orden (o, equivalentemente, los principios
de induccin), permite demostrar muchas propiedades bsicas de los nmeros naturales (que tal vez en algn
curso anterior han sido presentadas como axiomas). Por ejemplo, la conmutatividad de la suma. Varias de esas
demostraciones se vern con todo detalle en el mismo curso de Fundamentos de la Matemtica, as que aqu
slo nos limitaremos a enunciar algunas propiedades bsicas, deducibles a partir de los cinco axiomas de Peano,
y que nos sern de mucha utilidad en lo sucesivo:

1. a, b N, a + b N ab N (ley de cierre de la suma y del producto).


2. a, b N, a + b = b + a ab = ba (ley conmutativa de la suma y del producto).
3. a, b, c N, a + (b + c) = (a + b) + c a (bc) = (ab) c (ley asociativa de la suma y del producto).
4. a, b, c N, a + c = b + c a = b (ley cancelativa de la suma).
5. a, b, c N, (ac = bc c 6= 0) a = b (ley cancelativa del producto por un nmero no nulo).
6. a, b, c N, a + c > b + c a > b (cancelacin de trminos en desigualdades).
7. a, b, c N, ac > bc a > b (cancelacin de factores en desigualdades).
8. a, b, c, d N, (a > c b > d) (a + b > c + d ab > cd) (uniformidad).
9. a N, a + 0 = a a 1 = a (existencia del neutro de la suma y del producto).
16 1. PRINCIPIO DE INDUCCIN Y PRINCIPIO DE BUENA ORDENACIN

10. a, b, c N, a (b + c) = ab + ac (ley distributiva del producto respecto de la suma).


11. a, b N, ab = 0 (a = 0 b = 0) (no hay divisores de 0).
Captulo 2

EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

En este captulo, trataremos las propiedades bsicas del conjunto de los nmeros enteros, y deniremos un
concepto crucial para el entendimiento de dicho conjunto: el de divisibilidad. sta conduce a la denicin de
nmero primo, fundamental en la teora de nmeros y en muchas de sus aplicaciones. Un buen entendimiento
de la divisibilidad entre enteros arranca con el algoritmo de la divisin de enteros. Este ltimo concepto se
comprende mejor si primero se analiza el algoritmo de la divisin de nmeros naturales. Por esa razn, primero
abordaremos el tema de la divisin y divisibilidad entre nmeros naturales, para luego extendernos de manera
natural al conjunto de los enteros.
Ms arriba hemos mencionado la palabra algoritmo. Sin pretender dar una denicin formal de lo que
signica (an cuando la tiene), digamos que un algoritmo es un mecanismo o procedimiento para llevar a cabo
una tarea (o, ms precisamente, para evaluar una determinada funcin). Como tal, un algoritmo incluye una serie
de instrucciones a seguir por el usuario para llevar a cabo la tarea. En este curso, trataremos de compenetrarnos
con varios algoritmos relativos a los nmeros naturales y enteros, pero de un nivel de simplicidad elemental, en
el sentido de ser (al menos relativamente) fciles de comprender y de aplicar. Por eso, vamos a dedicar unas
lneas al abc de la notacin algortmica, es decir, a lo bsico que usaremos nosotros al respecto. No hay nada
que temer: la mayora de las cosas responden al sentido comn y se reeren a conceptos que no nos resultarn
del todo extraos. En el apndice ?? veremos un modo de usar una computadora para materializar estas ideas.

1. La notacin algortmica

Considrese la siguiente funcin de reales en reales:

x2

si x>0
(*) f (x) =
1x si x0
La funcin, as como est, se dice que est denida por ramas : en esencia, para determinar el valor de la
funcin en un dado argumento x0 , primero debemos ver si x0 es positivo o no; en caso de serlo, elevarlo al
cuadrado y se es el valor de f (x0 ), y en caso de no ser x0 positivo, calcular 1 x0 y se es el valor de f (x0 ).
Entonces, podramos haber especicado la funcin del siguiente modo menos simblico, o ms coloquial:

f (x) =
(**) si (x > 0) contestar x2
sino contestar 1 x

Ntese que, a la hora de hacer una evaluacin, no hay diferencias con la expresin (*), excepto que queda
explcito que primero hay que vericar el cumplimiento de una cierta condicin (si el argumento x es mayor
que 0) antes de contestar, y que lo que hay que contestar depende de si se cumple o no la condicin. Escrita
as, aparenta ser una lista de instrucciones a seguir antes que una funcin real de variable real (aunque por
supuesto que, an escrita en esa forma, tambin lo es).
En denitiva, la funcin escrita como en (**) da un mecanismo para calcular f (x) de acuerdo al argumento
x. Decimos que est escrita en la notacin algortmica, tambin llamada notacin funcional, o pseudocdigo,
que nosotros emplearemos para explicitar cmo se calculan ciertas funciones. Reiteramos, una funcin escrita
en notacin algortmica no es ms que una lista de instrucciones que hay que ir obedeciendo al pie de la letra,
para hacer una determinada evaluacin. Es una especie de manual de procedimientos que resume, de manera
global, cmo ha de procederse para llevar a cabo una determinada tarea. Cuando se sustituye al argumento x
por un valor concreto, y se siguen las instrucciones (cada vez que aparezca x en esas instrucciones, hay que
reemplazarlo por ese valor concreto), se obtiene un caso o instancia del algoritmo. Cuando se usa el algoritmo
para evaluar una instancia, por ejemplo para x = 6, se dice que se ha invocado (o corrido, o llamado, o ejecutado )
el algoritmo con el argumento x = 6.
No es obligatorio que una funcin tenga un solo argumento. Por ejemplo:

M (x, y) =
si (x y) contestar x
sino contestar y

17
18 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

Es fcil ver que esta funcin contesta el mayor entre x e y . Por esa razn, podramos haber elegido un nombre
ms representativo de la funcin, en lugar del simple M (x, y). Podra haber sido, por ejemplo, max(x, y). De
paso, ejemplicamos que no es obligatorio que el nombre de una funcin sea de una sola letra.
Recalquemos que toda funcin escrita en notacin algortmica debe comenzar con una lnea en donde se
especica el nombre de la funcin y la lista de argumentos que recibe, entre parntesis. Todo eso seguido de un
signo  =, para indicar que a partir de all comienza la lista de instrucciones.

1.1. Las instrucciones bsicas de la notacin algortmica.


1.1.1. Instrucciones de retorno. Una instruccin que no puede faltar en ningn algoritmo es contestar.
Indica que lo que viene a continuacin es el resultado de la evaluacin de la funcin, o sea, lo que la funcin
devuelve. Ese resultado puede ser un nmero, un par ordenado de nmeros, un conjunto, etc.; depende de lo
que se pretende que conteste el algoritmo (por ejemplo, un algoritmo para calcular el mximo de un conjunto
numrico contestar un nmero, un algoritmo para calcular el cociente y resto de la divisin entre dos nmeros
naturales contestar un par ordenado, un algoritmo para obtener todos los primos menores o iguales que un
cierto nmero natural devolver un conjunto, y as). Si bien es obligatorio que aparezca al menos una vez, es
frecuente que la instruccin contestar aparezca varias veces en un algoritmo, como ocurre en los ejemplos que
hemos presentado ms arriba.
1.1.2. Instrucciones de asignacin. Puede darse el caso en que el procedimiento para evaluar una funcin
no sea muy directo como en los ejemplos anteriores, sino que requiera de muchos clculos intermedios para llegar
a la respuesta nal. Tal vez, esos clculos demanden guardar temporalmente ciertos valores. Por esa razn, en
la notacin algortmica contaremos con variables para guardar en ellas esos valores intermedios necesarios para
llevar a cabo la evaluacin de la funcin. Entonces, necesitamos instrucciones de asignacin para asignar
valores a variables. Instrucciones de este tipo comienzan siempre con la palabra sea (como en la demostracin
de teoremas). Por ejemplo,  sea z = 5 indica que, de ahora en ms, durante la ejecucin del algoritmo, cada
vez que aparezca la variable z , sta debe reemplazarse por el valor 5 (a menos que otra instruccin de asignacin
modique el valor de la misma variable z ).

Ejemplo 2.1. Considerar la funcin de Z en Z dada por

g(x) =
sea n = x 20
si (n > 2x) contestar 3n
sino contestar 1 nx

1. Evaluemos g(12). El argumento con que se invoca a la funcin (la notacin indica que es x) debe
establecerse en el valor 12. La primera instruccin a seguir es hacer n = 12 20 = 8. O sea, a partir
de ahora, en todo el proceso de evaluacin de g(12), n vale 8 (a menos que ms adelante, durante
la misma evaluacin, encontrsemos otra orden de asignar otro valor a n). Luego hay que vericar si
n > 2x: valiendo x = 12 y n = 8, la condicin no se cumple, por lo que hay que ir por la lnea del
sino (enseguida nos ocuparemos ms en detalle de este tipo de instrucciones), que indica contestar
1 (8)12. g(12) = 97.
Luego,
2. Para evaluarg(30), establecemos x = 30; luego, empezando con la primera instruccin del algoritmo,
asignamos a n el valor 50. Ahora comparamos si 50 > 2(30), y como eso es verdad, contestamos
3(50) = 150. Luego, g(30) = 150. 
A veces, en una operacin de asignacin, la variable que recibe el valor puede aparecer tambin a la derecha
del operador  = de asignacin. Por ejemplo:  sea n = n x. Se sobreentiende que ambas variables a la derecha
deben ya tener un valor previamente asignado, y que el valor de n a la derecha es el valor con que viene n
hasta antes de ejecutar la actual instruccin de asignacin. Por ejemplo, suponiendo que, de acuerdo a todas las
instrucciones ejecutadas desde el inicio de un algoritmo, lleguemos con n=8 y x = 3, hasta un punto en que
nos topamos con la instruccin  sea n = n x; sta hace que n pase a valer, de ahora en ms, 24 (y x queda
como estaba, es decir, valiendo 3, pues nadie dijo nada de asignarle a x un nuevo valor). Observacin: jams
debe interpretarse una instruccin de stas como una ecuacin.
Habr circunstancias en que en una sola instruccin de asignacin necesitemos asignar valores a varias
variables. Usaremos para ello la notacin de uplas ordenadas. Por ejemplo, la instruccin sea (a, b, c) = (7, 2, 9)
indica asignar a a el valor 7, a b el 2, y a c el 9.
1.1.3. Instrucciones condicionales. Otro tipo de instruccin que puede aparecer en la especicacin de un
algoritmo (y que ya vimos en ejemplos anteriores) es la vericacin de si una dada condicin se cumple o no, y
lo que hay que hacer en caso de que se cumpla, y lo que hay que hacer en caso de que la condicin no se cumpla.
Estas instrucciones se llaman condicionales. Tpicamente, responden al siguiente esquema:

si (condicin) lista1
sino lista2
1. LA NOTACIN ALGORTMICA 19

donde condicin es una proposicin, y lista1 y lista2 son a su vez ms conjuntos de instrucciones. En este caso,
lo primero que hay que hacer es evaluar si la condicin es verdadera; si lo es, las instrucciones que hay que seguir
son las de lista1 (y no las de lista2), y si la condicin es falsa, hay que ponerse a ejecutar todas las instrucciones
de lista2 (ignorando completamente las instrucciones que haya en lista1). Por ejemplo, supongamos que m nos
dice: Hoy comemos deos. And al almacn; si tienen harina y huevos, comprame un poco de ambos (as los
amaso aqu) y, si no, traeme un paquete de deos. Si obedecemos la consigna al pie de la letra, la condicin
a vericar es si en el almacn tienen harina y huevos, lista1 sera comprar harina y comprar huevos, y lista2
sera comprar un paquete de deos.
Incluso habr casos en que  sino lista2 puede faltar, y si la condicin no se cumple, no hay que hacer
nada con lista1, y pasar a la instruccin siguiente, si es que la hay. Sera como si mam nos hubiese dicho and
al almacn; si tienen harina y huevos, comprame un poco de ambos (y no hacemos nada si no hay harina y
huevos). O bien, and al almacn; si tienen harina y huevos, comprame un poco de ambos. Ah, cierto que se nos
acab el azcar! Comprame un kilo de azcar, que seguro que tienen. Si hubiera harina y huevos, compraramos
harina, huevos y azcar, y, si no, compraramos slo el azcar.
En una instruccin condicional, puede que lista1 y/o lista2, como listas de instrucciones que son, tengan a
su vez anidadas otras instrucciones condicionales.

Ejemplo 2.2. Sea la siguiente funcin de enteros en enteros:

h(x) =
sea n = x 20
si (n > 2x) contestar 3n
sino
sea n = n x
si (n es par) contestar 1 nx
sino contestar x2

(notar que hemos usado indentacin, es decir, escritura con diferentes niveles de margen izquierdo, para facilitar
la comprensin; si un condicional tiene si y sino, es mejor que ambas palabras estn al mismo nivel, y que
las respectivas lista1 y lista2 queden ms adentro todava, especialmente si constan de varias instrucciones). 
El proceso de anidamiento puede ocurrir varias veces.
1.1.4. Invocacin a otras funciones, y recursividad. Est permitido, en la notacin algortmica, que una
funcin invoque a otra funcin que haya sido previamente denida (o que se denir despus). Tal invocacin
puede estar dentro de una instruccin de retorno, o de asignacin (slo a la derecha de  =, obviamente), o en
una condicional (ya sea en la condicin y/o en lista1 y/o lista2). Podramos llamar funcin madre a la que
invoca a la otra, y funcin hija o funcin auxiliar a la invocada. Cuando en la ejecucin de un algoritmo
se llega a una instruccin que contiene una invocacin a otra funcin, hay que abocarse a la tarea de evaluar
la funcin hija, hasta obtener su valor, pero recordando en qu punto de la ejecucin de la funcin madre se
qued, para reanudar a partir de all la tarea una vez que hayamos evaluado a la funcin hija. Es como si
estando en el almacn para comprar harina, huevos y azcar, el dueo, despus de vendernos harina y huevos,
nos diga haceme la gauchada de llevarle esta nota a mi esposa que vive al frente, despus te sigo atendiendo;
mil gracias: suspendemos lo que estamos haciendo (la compra) para dedicarnos a la tarea de ayudar a nuestro
prjimo, pero acordndonos de que cuando terminemos so, volveremos al almacn a seguir con las compras;
en qu habamos quedado? Ah, s! El azcar.

Ejemplo 2.3. Considerar las siguientes funciones f y j , de enteros en enteros:

f (x) =
si (x > 0) contestar x2
sino contestar 1 x

j(x) =
2
si (x es par) contestar f (x)
sino
sea k = x + f (3x)
contestar f (k) x

Para calcular j (x0 ), hay que empezar por la primera instruccin de la funcin j (x), vericando si x0 es par.

1. Si lo es, hay que contestar el cuadrado de f (x0 ). Para eso, momentneamente interrumpimos nuestras
actividades dentro del desarrollo de j (x0 ), para abocarnos a calcular f (x0 ). Cuando lo tengamos,
volveremos al punto de la ejecucin de j (x0 ) en que quedamos, y nos preguntamos para qu queramos
f (x0 ). Ah!, era para elevarlo al cuadrado y contestar eso como resultado de j (x0 ).
20 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

2. Si x0 no era par, hay que ir por el sino. En este caso, primero hay que hacer una asignacin: a k
hay que darle el valor que resulta de sumar x0 con el resultado de la evaluacin de f en 3x0 (para eso,
suspendemos momentneamente el clculo con j y nos ponemos a calcular f (3x0 ), que una vez obtenido
debe sumarse a x0 ). Luego procedemos a evaluar f (k) (nueva suspensin temporaria en el clculo con
j ), y a ese resultado le restamos x0 . Lo que as resulte ser el valor de j (x0 ) en caso de ser x0 impar.

Ejemplos a vericar por el lector en relacin a j (x): j (0) = 1, j (1) = 99, j (2) = 9. 
De ms est decir que la funcin hija puede, a su vez, invocar a otra funcin hija, y sta a su vez a otra,
y as sucesivamente. En esos casos, a la hora de ejecutar un algoritmo, hay que prestar mucha atencin al
punto en el que se queda al realizar cada nueva invocacin, sin confundirse de puntos de suspensin temporal
correspondientes a distintas invocaciones.
Incluso est permitido que la funcin hija invoque a su funcin madre, como en el siguiente caso.

Ejemplo 2.4. Considerar


p(x) =
si (x > 0) contestar x2
sino contestar q(1 x)

q(x) =
2
si (x contestar
es par) p(2x)
sino contestar x + 2
Supongamos que queremos p (3): nos damos con que debemos evaluar q (4) y contestar eso como valor de
p (3).
2
Calculemos entonces q (4):
p (8) , pues 4 es par.
vale
Calculemos por lo tanto p (8), que vale 64 porque 8 > 0.
2
Para qu queramos p (8)? Para contestar a q (4), que era p (8) = 642 = 4.096.
Para qu queramos q (4)? Para contestar a nuestro p (3) original, que vale justamente q (4). Luego, p (3) =
4.096. 
Est permitido que, para evaluar una funcin, se invoque a otra funcin. Pero, sin dudas, uno de los mayores
atractivos de la notacin funcional est en permitir que una funcin se invoque a s misma, con otros argumentos.
Ya vimos un ejemplo de sto en el Captulo 1, cuando estudiamos la funcin denida de naturales en naturales
dada por

1 si n=0
t (n) =
2t (n 1) si n 6= 0
Ejemplo 2.5. En nuestra notacin algortmica, la funcin anterior se escribe as:

t(n) =
si (n = 0) contestar 1
sino contestar 2t(n 1)

Veamos cmo evaluar aqu t (3):


Empezamos con n = 3, y
en la primera lnea vericamos que n no es 0, por lo cual debemos contestar
2t (2). Entonces, interrumpimos todo lo que estamos haciendo para abocarnos a la tarea de calcular
t (2), y, una vez que lo tengamos, recordaremos para qu lo necesitbamos: para multiplicarlo por 2 y,
de esa manera, saber cunto vale t (3).
Y cmo calculamos t (2)? Claro que con el mismo algoritmo, salvo que con n = 2. Como en este
caso n tampoco es 0, es t (2) = 2t (1).
Y t (1)? Con el mismo algoritmo, caso n = 1. Y vale 2t (0).
Y t (0)? Vale 1.
Por lo tanto, t (1) = 2t (0) = 2 1 = 2.
Por lo tanto, t (2) = 2t (1) = 2 2 = 4.
Y nalmente t (3) = 2t (2) = 2 4 = 8. 
Cuando para evaluar una funcin dada hace falta usar esa misma funcin, pero con otros argumentos, se dice
que la funcin se invoca a s misma, recursivamente. Si el lector piensa un poco, se dar cuenta de que cuando
suma dos nmeros a travs de sus representaciones decimales, est aplicando un algoritmo altamente recursivo.
Por ejemplo, sumar 123 + 645 se reduce a sumar los dgitos 3 y 5 de la derecha, colocando el resultado de 8, y
luego proceder a sumar los nmeros 12 y 64, colocando el resultado a la izquierda del 8. Es decir, el algoritmo
de suma se reduce a sumar los dgitos de la derecha y luego invocarse recursivamente con los mismos nmeros
excepto que sin el ltimo dgito (es un poquito ms complicado, pues puede haber un me llevo uno, pero en
esencia es so). La multiplicacin y la divisin son tambin procedimientos recursivos. O sea que la recursividad
2. LOS NMEROS ENTEROS 21

est instalada en nuestras vidas desde hace mucho (aunque nosotros recin hoy vengamos a enterarnos!). La
recursividad bien usada produce sorprendentes efectos, como tendremos oportunidad de ver en este curso.
Cuidado con algoritmos recursivos como el siguiente:

v(n) =
si (n = 0) contestar 1
sino contestar v(n + 1)

Si intentamos evaluar v (1), seremos conducidos a evaluar v (2), que nos llevar a calcular v (3), que...
Entramos en un crculo vicioso del cual no saldremos jams, excepto que optemos por abortar la ejecucin del
algoritmo, de la misma manera que muchas veces optamos por resetear la PC cuando sta se ha colgado (es
decir, cuando ha entrado en un ciclo sin salida). El diseo de algoritmos recursivos debe ser cuidadoso en este
aspecto: no debe conducir a situaciones de ciclos innitos. En general, un algoritmo recursivo debe contener
casos de salida garantizada, (como el caso n=0 en el ejemplo 2.5) y las sucesivas llamadas recursivas que se
produzcan deben conducir a uno de esos casos de salida garantizada.
Observar que, en el ejemplo 2.5, para calcular t (3) ha sido necesario utilizar el algoritmo 4 veces: una vez
con n = 3, otra con n = 2, otra con n=1 y otra con n = 0. Decimos entonces que fueron necesarias cuatro
invocaciones al algoritmo t para calcular t (3). Podemos sospechar, y no nos equivocaremos, que, en general,
el nmero de invocaciones a un algoritmo recursivo depender de cules sean sus argumentos. Muchas de las
consideraciones que haremos en algoritmos que estudiemos en este curso harn induccin matemtica sobre el
nmero de invocaciones necesarias para un dado argumento. Por ejemplo, si queremos demostrar que la funcin
del ejemplo 2.5 termina contestando 2n (es decir, que cualquiera sea n se tiene t (n) = 2n ) podemos proceder
mostrando que: a) Para cuando se requiere una sola invocacin, el algoritmo contesta lo que sospechamos, y
b) Suponiendo que el algoritmo contesta lo que sospechamos cuando se requieren k invocaciones, mostrar que
contesta lo que sospechamos cuando se necesitan k + 1 invocaciones. En el caso del ejemplo 2.5, sospechamos
n
que cuando el argumento es n, el algoritmo contesta 2 . Veriqumoslo procediendo como dijimos:
0
1. Si se necesita una sola invocacin, es porque se hizo con n = 0. En ese caso, 2 = 1, y efectivamente
n
t (0) = 1. Entonces, es cierto que t (n) = 2 para cuando se necesita una sola invocacin al algoritmo.
0
2. Supongamos que toda vez que se necesitan k invocaciones al algoritmo para evaluar t en un dado n ,
0 n0
es cierto que t (n ) = 2 . Sea n tal que para calcular t (n) se necesiten k + 1 invocaciones. Est claro
que la primera invocacin es con n, y las k restantes surgen de invocar con n 1. Nuestra hiptesis
n1
de induccin nos dice entonces que t (n 1) = 2 . Y entonces, de acuerdo a cmo est denido el
n1
algoritmo, es t (n) = 2t (n 1) = 2 2 = 2 . Entonces, es cierto que t (n) = 2n toda vez que la
n

evaluacin de t (n) requiera de k + 1 invocaciones al algoritmo t.

Bueno, basta ya de teora general de computacin. Volvamos a la aritmtica.

2. Los nmeros enteros

Ya tenemos conceptualizado al conjunto de los nmeros naturales N, con sus operaciones bsicas de suma
y producto, y su orden usual. Nuestra meta es ahora presentar al conjunto de los nmeros enteros, con sus
operaciones bsicas y su relacin de orden, basndonos en los nmeros naturales. Designemos por Z+ al conjunto
de los naturales positivos, es decir, Z del siguiente modo: por cada elemento n
Z+ = {1, 2, 3, . . .}. Denamos
+
de Z , fabriquemos un nuevo elemento anteponindole el signo ; es decir, consideremos n. El conjunto de
+
todos los elementos as obtenidos conforme n vara en Z es precisamente Z . O sea,

Z = n : n Z+ = {1, 2, 3, 4, . . .}


Ahora estamos en condiciones de escribir lo que para nosotros, en este curso, es el conjunto Z de los
nmeros enteros1, con sus operaciones bsicas y su relacin de orden usual (que resultarn coherentes con las
de los nmeros naturales, en el caso en que los operandos sean nmeros naturales):

Z = Z N = Z {0} Z+ = {. . . , 3, 2, 1, 0, 1, 2, 3, . . .}
1. Suma: Sean z1 y z2 dos enteros.
a) Si ambos son naturales, usamos la suma habitual de nmeros naturales.
b) Si ambos estn en Z , z1 = n1 y z2 = n2 para n1 , n2 Z+ , es z1 + z2 = (n1 + n2 ).
digamos
c) +
Si uno est en N y el otro en Z , digamos z1 = n1 y z2 = n2 para n1 N y n2 Z , distinguiremos
dos casos:
n1 n2 , entonces z1 + z2 = n1 n2 (la resta
1) Si de ambos nmeros naturales).
n1 < n2 , entonces z1 + z2 = (n2 n1 ).
2) Si
2. Producto: Sean z1 y z2 dos enteros.
a ) Si al menos uno de ellos es 0, el producto es 0.
Hay una manera formal de denir el conjunto de los nmeros enteros a partir de los naturales, y se ver detalladamente en
1

Fundamentos de la Matemtica.
22 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

b) Si ambos son naturales, usamos el producto habitual de nmeros naturales.


c) Si uno est en Z+ y el otro en Z , digamos z1 = n1 y z2 = n2 para n1 N y n2 Z+ , entonces
z1 z2 = (n1 n2 ).
d) Si ambos estn en Z , digamos z1 = n1 y z2 = n2 para n1 , n2 Z+ , es z1 z2 = n1 n2 .
Si z Z, z representa a (1) z , teniendo entonces que 0 = 0 y que (z) = z .
3. Orden: Sean z1 y z2 dos enteros.
a) Si ambos son naturales, los comparamos con el orden usual de los naturales.
b) Si uno est en N Z , es mayor el natural.
y el otro en
c) +
Si ambos estn en Z , digamos z1 = n1 y z2 = n2 para n1 , n2 Z , ser n1 n2 si n1 n2
(en esta ltima, estamos empleando el orden usual de los naturales).
Los enteros menores que 0 se llaman enteros negativos, y los mayores que 0, enteros positivos.
El mdulo o valor absoluto de un entero z se denota, como usualmente, por |z|, y vale z si z 0, y
z si z < 0. Todas las propiedades conocidas acerca del mdulo de nmeros reales valen, por supuesto,
para el conjunto de los enteros.

Advirtase que, as como estn denidas, las operaciones y relacin de orden en Z coinciden con lo que
sabemos de los cursos anteriores acerca de los enteros. Adems, para z1 y z2 enteros, se cumple que z1 z2
si, y slo si, existe n N tal que z1 + n = z2 . Es bastante directo vericar que la suma en Z es cerrada,
asociativa, conmutativa, tiene elemento neutro 0, y que cada zZ tiene su inverso aditivo (u opuesto ) que es
z . Con respecto al producto, es cerrado, asociativo, conmutativo y tiene elemento neutro, el 1. Adems, se
cumple la propiedad distributiva del producto respecto de la suma: a, b, c Z, a (b + c) = ab + ac. Vale la ley
cancelativa de la suma y del producto por un nmero no nulo en igualdades, la ley cancelativa de trminos en
desigualdades, la ley cancelativa de factores positivos en desigualdades, y mucho cuidado con la cancelacin de
factores negativos (no olvidarse de dar vuelta la desigualdad en ese caso). Adems, al igual que en N, no hay
divisores de 0: ab = 0 (a = 0 b = 0).

Debe notarse que Z, con su orden usual, no es un conjunto bien ordenado, pues por ejemplo Z no tiene un
mnimo elemento (ya que no existe un nmero natural que sea mayor que todos los otros nmeros naturales).
Sin embargo, dado cualquier nmero entero z0 , el conjunto Dz0 = {z Z : z z0 } es bien ordenado (adivine el
lector por qu hemos usado la letra D de Derecha). En efecto, sea S cualquier subconjunto no vaco de Dz0 .
Notemos que para cualquier z S , es z z0 , por lo que z z0 N si z S . Hagamos T = {z z0 : z S}, que
resultar entonces ser subconjunto no vaco de N. Como tal, tiene mnimo elemento m. Ese m, por pertenecer
0 0 0
a T , debe ser de la forma m z0 para algn m S . Puede haber algn elemento menor que m en S ? No,
0 0
porque de haber un n S tal que n < m , n z0 pertenecera a T y cumplira n z0 < m z0 = m, que no
0
puede ser pues m es el mnimo elemento en T . Por lo tanto, m es el mnimo elemento de S .

3. La divisin de nmeros naturales

Citando a T. Hibbard, el mejor modelo de un nmero natural es una la de palos (o de caramelos, o de
personas, agrego yo). Sumar dos naturales equivale a poner las dos respectivas las una a continuacin de la
otra y contar cuntos palos quedan en total. La resta ab (con a b) quiere decir sacar de la la de palos de
a una cantidad de palos igual a los que haya en b, y ver cuntos quedan. Multiplicar a por b equivale a hacer b
copias de los palos de a, una copia a continuacin de la otra, y ver cuntos palos quedan en total. Vamos con
la divisin ahora.
Dividir conlleva la idea de repartir, o distribuir. En la divisin de nmeros naturales, se trata de distribuir
los caramelos que haya en una bolsa llamada dividendo entre los individuos que componen el divisor (se supone
que hay siempre al menos un individuo all) de la manera ms equitativa posible, pero sin partir los caramelos
(ni por la mitad, ni de ninguna otra forma). Cmo se hace entonces so? Supongamos que hay a caramelos y
b receptores. El sentido comn nos dice que primero veamos si hay sucientes caramelos para dar al menos uno
a cada uno de los b personajes (o sea, que veamos si a b).
1. Si no es as, ya est lista la repartija: ninguno de los individuos recibe nada, es decir, reciben 0 caramelos
cada uno.
2. Si fuese a b, pues bien, demos un caramelo a cada uno. Entonces, hasta el momento, cada individuo
habr recibido 1 caramelo, y quedarn por distribuir ab caramelos. El sentido comn nos dice que
primero veamos si entre esos ab caramelos, hay sucientes como para dar al menos uno a cada uno
de los b personajes (o sea, que veamos si a b b).
a) Si no es as, ya est lista la repartija: cada individuo se queda con 1 caramelo que le ha sido entregado
en la primera vuelta.
b) Si fuese a b b, pues bien, demos un caramelo a cada uno. Entonces, hasta el momento, cada
individuo habr recibido 2 caramelos, y quedarn por distribuir a 2b caramelos. El sentido comn
nos dice...
3. LA DIVISIN DE NMEROS NATURALES 23

Y as seguimos (recursivamente!) hasta que, despus de haber entregado caramelos a cada uno en sucesivas
rondas, la cantidad remanente no alcance para dar un caramelo ms a cada uno. El cociente de la divisin
entre a y b es la cantidad de caramelos que ha sido posible entregar a cada individuo, y el resto de la
divisin entre a y b es esa cantidad remanente que ya no alcanza para dar una ronda ms de caramelos a los
participantes. Obviamente, multiplicando el cociente por el divisor y sumando el resto obtenemos el dividendo.
Dicho de otro modo, en trminos de palos, empaquetamos de a b elementos los palos en la la de palos que
corresponde a a (dejando sueltos a los palos que ya no alcancen para formar un nuevo grupo de b elementos).
La cantidad de paquetes completos que hayamos podido hacer corresponde al cociente, y la cantidad de palos
sueltos no empaquetados corresponde al resto de la divisin entre a y b.
El sentido comn nos dice que vamos a poder dividir cualquier a N por cualquier b N {0}, obteniendo
un cociente y un resto, y que esos nmeros obtenidos sern nicos independientemente de si a la repartija la hago
yo hoy, o yo maana, o mi to pasado maana. Es decir, hay una nocin intuitiva de existencia y de unicidad
del cociente y resto de una divisin entre nmeros naturales. Formalicemos todas estas nociones intuitivas.

Teorema 2.6. (Teorema de la divisin de nmeros naturales) Sean a y b dos nmeros naturales,
con b 6= 0. Existe un nico par de nmeros naturales c y r con r < b tales que a = cb + r.
Demostracin. Consideremos el conjunto M = {x N : k N : a = kb + x}. Se trata de un conjunto
no vaco (pues tomando k = 0 vemos que al menos a M ). Por lo tanto, de acuerdo al PBO, M posee un
mnimo elemento, llammosle r . Por pertenecer a M , ese r es un natural que admite la existencia de c N tal
que a = cb + r . Si fuese r b, tendramos que a = (c + 1)b + (r b) con c + 1 y r b naturales, lo que mostrara
que r b estara tambin en M , y eso nos llevara a una contradiccin (pues r b < r por ser b 1, pero a
la vez r b r por ser r mnimo en M ) que provendra de suponer r b. Por lo tanto, r debe ser un natural
menor que b.
Hasta el momento, hemos probado la existencia de una pareja de nmeros naturales c y r tales que a = cb+r
0 0
con r < b. Para terminar de demostrar el teorema, falta ver la unicidad. Sean c y r dos nmeros naturales tales
0 0 0 0 0 0 0 0
que a = c b + r con r < b. Dado que r 0 y r < b, tenemos que cb cb + r y c b + r < c b + b = (c + 1)b. Es
decir,

cb cb + r = a = c0 b + r0 < (c0 + 1)b

de donde c < c0 + 1, o, equivalentemente, c c0 . Anlogamente, como r0 0 y r < b, tenemos que c0 b c0 b + r0


y cb + r < cb + b = (c + 1)b. Es decir,

c0 b c0 b + r0 = a = cb + r < (c + 1)b

de donde c0 < c + 1, o, equivalentemente, c0 c. Juntando las dos desigualdades obtenidas, resulta que c0 = c,
0 0 0
y, puesto que cb + r = c b + r , tambin se tiene que r = r . Luego, el par de naturales c y r es el nico que
satisface las condiciones del enunciado del teorema. 

Definicin 2.7. Sean a y b nmeros naturales, con b 6= 0. Los nicos nmeros naturales c y r tales que
a = cb + r con r < b se denominan, respectivamente, cociente y resto de la divisin entre a y b, denotados
c (a, b) y r (a, b).

A ttulo ilustrativo, mostremos cmo aplicar el PCMC a la demostracin de la existencia del par de naturales
c y r del teorema anterior: Sean a N
b N {0} tales que el par (a, b) es un contraejemplo a lo dicho
y
en el teorema respecto de la existencia del par (c, r). Puede ser a < b? No, porque bastara tomar c = 0 y
r = a para satisfacer el enunciado. Entonces es a b. Pero, en ese caso, es a b N. Entonces, el par (a b, b)
0 0
es tambin un contraejemplo a la existencia de cociente y resto, pues si existiesen naturales c y r tales que
0 0 0 0 0 0
a b = c b + r con r < b, tendramos a = (c + 1) b + r , es decir, bastara tomar c = c + 1, que pertenecera
0
a N, y r = r < b para ver que el par (a, b) no es contraejemplo (contradiciendo que s lo es). En resumen, si
(a, b) es un contraejemplo al enunciado de existencia, el par (a b, b) tambin es contraejemplo (y ms chico en
primera componente, pues, siendo b > 0, es a b estrictamente menor que a).
Si hemos interpretado correctamente el teorema de la divisin, debemos ser capaces de ver que, ya que
15 = 2 7 + 1, la divisin entre 15 y 7 produce cociente 2 y resto 1, y la divisin entre 15 y 2 produce cociente 7
y resto 1. De observar que 19 = 3 5 + 4, podemos concluir slo que la divisin entre 19 y 5 produce cociente 3
y resto 4, pero no podemos decir que la divisin entre 19 y 3 produce cociente 5 y resto 4, pues 4 es mayor que
3 (es ms, podemos estar seguros de que ni el cociente es 5 ni el resto es 4). En general, si vemos una igualdad
del tipo p = mq + n con p, q, m, n naturales, q 6= 0 y n < q , podemos estar seguros de que el cociente entre p y
q es m, y el resto es n. Tal igualdad se denomina ecuacin de la divisin entre p y q .
El enunciado del teorema de la divisin no da explcitamente la manera de calcular c y r , pero la demostra-
cin, indirectamente, s: bsquese el mayor c tal que cb a, y hgase r = a bc. Es lo que nuestro algoritmo
24 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

de reparto equitativo de caramelos haca. Algoritmo, dijimos? Claro, y entonces escribamos en notacin algo-
rtmica el algoritmo para calcular el cociente entre a y b (y qu mejor que llamarlo c (a, b)):
c(a, b) =
si (a < b) contestar 0
sino contestar 1 + c(a b, b)

Era de esperar que hubiera una invocacin recursiva, en el caso en que a b: habiendo repartido ya un
caramelo a cada uno en la primera vuelta, y quedando ab caramelos a repartir entre b, lo que cada individuo
se lleve en el bolsillo ser lo que le toque de esta ltima repartija (c (a b, b)), ms el caramelo que recibi en
primera vuelta. Observar que, restando de b en b , lo que estamos haciendo es buscar el mayor c tal que cb no
supera a a.
Y el resto? Sale del siguiente algoritmo, r (a, b):
r(a, b) =
si (a < b) contestar a
sino contestar r(a b, b)

Hicimos uso aqu de la siguiente propiedad: si a b, el resto de la divisin entre a y b es el mismo que el
de la divisin entre ab y b: r los naturales tales que a b = cb + r con r < b, cuya existencia est
sean c y
garantizada por el teorema. Entonces, a = (c + 1) b + r con c + 1 N y r < b. Entonces, por unicidad, el cociente
entre a y b es una unidad mayor que el cociente entre a b y b (otra manera de ver que el algoritmo c (a, b)
anda bien), y el resto de la divisin entre a y b es el mismo que el resto de dividir a b por b (conrmando que
nuestro algoritmo r (a, b) tambin anda bien).
Podemos juntar los dos algoritmos en uno solo, cr (a, b), que conteste al mismo tiempo cociente y resto de
a dividido b:
cr(a, b) =
si (a < b) contestar (0, a)
sino contestar (1, 0) + cr(a b, b)
(con la convencin de que sumar pares ordenados se hace sumando componente a componente, y que la primera
componente de un par es un cociente, y la segunda un resto).
Cmo calculamos cr (19, 5)? Arrancamos haciendo a = 19 y b = 5.
cr (19, 5) = (1, 0) + cr (14, 5)
cr (14, 5) = (1, 0) + cr (9, 5)
cr (9, 5) = (1, 0) + cr (4, 5)
cr (4, 5) = (0, 4) (pues, en esta instancia, a = 4 < 5 = b, y no hace falta invocacin
recursiva).
Entonces, cr (9, 5) = (1, 0) + (0, 4) = (1, 4).
Entonces, cr (14, 5) = (1, 0) + (1, 4) = (2, 4).
Entonces, cr (19, 5) = (1, 0) + (2, 4) = (3, 4).
Pruebe con calcular cociente y resto de 123.456.789 dividido 13 mediante invocacin al algoritmo cr. Claro que va a
tardar largusimo tiempo! Harn falta ms de nueve millones de invocaciones, pues la diferencia entre el primer argumento
y el segundo es enorme. Resulta que nos encontramos con una cuestin crucial en Ciencias de la Computacin: tenemos
un algoritmo para hacer algo, pero, es el mejor?, el ms rpido?, el ms fcil de ejecutar? Puede ocurrir que una misma
tarea pueda ser ejecutada de muy diferentes modos, y algunos sean ms ecientes que otros, en algn sentido. Sin dudas,
una buena medida de la eciencia de un algoritmo recursivo es la cantidad de invocaciones recursivas que se requieren en
una determinada ejecucin del mismo. Cuantas menos invocaciones, ms eciente. Invitamos a encontrar cociente y resto
de 123.456.789 dividido 13 mediante invocacin al siguiente algoritmo, cr10 (a, b), que aprovecha nuestra capacidad de
multiplicar rpida y fcilmente por 10:
cr10(a, b) =
si (a < b) contestar (0, a)
sino
sea (c, r) = cr10(a, 10b)
sea (c0 , r 0 ) = cr(r, b)
contestar (10c + c0 , r 0 )

Ante todo, aclaramos que cr10 es otro algoritmo para la misma tarea de dividir: cr10 (a, b) = cr (a, b) cualesquiera
sean a y b. Se puede observar que el algoritmo cr10 invoca al cr, pero, cuando es as, los argumentos con que lo hace
son de magnitudes similares, y no requieren ms de 10 invocaciones recursivas. Hacen falta no ms de 90 invocaciones
en total a cr10 y cr para calcular cociente y resto de 123.456.789 dividido 13. Mucho mejor que las nueve millones. Si
bien aqu no lo hacemos, es fcil demostrar (por induccin en el nmero de invocaciones) que el nuevo algoritmo calcula
bien cociente y resto de cualquier divisin entre naturales. Pasar de un algoritmo como cr a uno ms eciente como
3. LA DIVISIN DE NMEROS NATURALES 25

cr10 depende mucho del conocimiento que se tenga acerca de las propiedades de los nmeros, pues la propia denicin
de divisin no aclara nada al respecto, y, con ella, lo ms ptimo que se pudo hacer es el diseo de cr.
3.1. Divisibilidad en el campo de los naturales.

Definicin 2.8. Sean a y b dos naturales, con b 6= 0. Se dice que b divide a a si el resto de la divisin
entre a y b es 0.
Cuando b a, tambin se dice que b es factor de a, o que b es un divisor de a, o que a es un
divide a
mltiplo de a es divisible por b, y sealamos el hecho con la notacin b | a. Del teorema de la
b, o que
divisin, deducimos que, para b 6= 0,
b | a c N : cb = a
Recalquemos que para tener que b | a, hemos pedido b 6= 0 (por lo que, cuando escribamos b | a, daremos
por sobreentendido que b 6= 0). Por lo tanto, 0 no divide a ningn natural. Adems, cualquier natural no nulo
divide a 0 (a N {0} , 0 = 0 a), 1 divide a cualquier natural (a N, a = a 1), y cualquier natural a 6= 0
es divisible por s mismo (a N {0} , a = 1 a).
Supongamos que b | a y que a | d. Entonces, b | d, pues existen naturales c1 y c2 tales que a = c1 b y d = c2 a,
de donde d = (c1 c2 ) a con c1 c2 N. La divisibilidad es una relacin transitiva en el conjunto de los naturales
(es un orden total? estricto? amplio?).
Deduzcamos ahora otras propiedades de la divisibilidad.

Proposicin 2.9. Sean a y b naturales no nulos. Si b | a, entonces es b a.


Demostracin. Supongamos que b | a. Existe cN tal que a = bc. Como a 6= 0, es c 6= 0, y por lo tanto
c 1, de donde, por uniformidad del producto en desigualdades, resulta a = bc b. 
De la simple pero importante propiedad recin demostrada, se deduce que todo natural no nulo tiene
una cantidad nita de factores.

Proposicin 2.10. Sean a y b naturales no nulos tales que b | a y que a | b. Entonces es a = b.


Demostracin. Por la proposicin 2.9, tenemos que ba y a b. Luego a = b. 
Proposicin 2.11. Sean a1 , a2 y b naturales, y supongamos que b | a1 y que b | a2 (es decir, supongamos
que b es un divisor en comn que tienen a1 y a2 ). Entonces, b | xa1 + ya2 cualesquiera sean los naturales x
e y . Es decir, b divide a cualquier combinacin lineal a coecientes naturales de a1 y de a2 .
Demostracin. Sean x, y N. Por hiptesis, existen naturales c1 y c2 tales que a1 = c1 b y a2 = c2 b, por lo
que xa1 = xc1 b e ya2 = yc2 b, as que xa1 + ya2 = (xc1 + yc2 ) b siendo xc1 + yc2 N. Entonces, b | xa1 + ya2 . 
La propiedad anterior puede generalizarse del siguiente modo:

Proposicin 2.12. Supongamos que b | a1 , b | a2 , ..., b | ak . Entonces b divide a cualquier combinacin


lineal a coecientes naturales de a1 , a2 , ..., ak .
Proposicin 2.13. Sean a1 , a2 y b naturales tales que b | a1 . Se tiene que b | a1 + a2 si, y slo si, b | a2 .
Demostracin. Para demostrar la ida: como b | a1 , existe c1 N tal que a1 = c1 b. Supongamos que
a1 + a2 = c2 b con c2 N. Entonces, a2 = c2 b a1 = c2 b c1 b = (c2 c1 ) b, de donde se desprende que
c2 c1 N (pues b > 0) y, por lo tanto, b | a2 .
Para la vuelta: Si b | a2 , como b | a1 , por aplicacin de la proposicin 2.11, se tiene que b | a1 + a2 . 
Generalizamos la proposicin anterior:

Proposicin 2.14. Sean a1 , a2 , ..., ak , ak+1 y b naturales dados, y supongamos que b | a1 , b | a2 , ...,
b | ak . Se tiene que b | a1 + a2 + + ak + ak+1 si, y slo si, b | ak+1 .
La ltima propiedad permite demostrar varios de los criterios de divisibilidad aprendidos hace ya tiempo.
Por ejemplo, para la divisibilidad por 8, sabemos que si un nmero tiene ms de tres dgitos, alcanza con ver
si el nmero formado por esos tres ltimos dgitos es divisible por 8. Por ejemplo, segn el criterio, 123.456.800
resulta divisible por 8,
800 lo es. De dnde sale el criterio? Sea n un nmero natural cuyos dgitos, de
pues
k
derecha a izquierda, son a0 , a1 , ..., ak . Entonces, n = a0 + 10a1 + 100a2 + 1.000a3 + 10.000a4 + + 10 ak .
k
Notemos que 8 | 1.000, 8 | 10.000, y, en general, 8 | 10 si k > 2. Por la proposicin 2.14, se sigue que 8 | n si,
y slo si, 8 divide a a0 + 10a1 + 100a2 , que es lo mismo que decir que 8 divide al nmero formado por los tres
ltimos dgitos del nmero original.
Para la divisibilidad por n = a0 + 10a1 + 100a2 + + 10k ak . Entonces:
3, sea

n = a0 + (10 1) a1 + (100 1) a2 + + 10k 1 ak + a1 + a2 + + ak




= (a0 + a1 + a2 + + ak ) + 9a1 + 99a2 + + 10k 1 ak



26 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD


Dado que 3 | 9a1 , 3 | 99a2 , 3 | 10k 1 ak , por la proposicin
..., 2.14, 3|n si, y slo si, 3 | a0 + a1 + + ak .
Es decir, la suma de los dgitos de n debe ser un mltiplo de 3.
Ms adelante, en este curso, veremos otra manera de deducir criterios de divisibilidad.

4. La divisin de nmeros enteros

En el campo de los nmeros naturales, dividir el natural a por el natural no nulo b comienza por buscar el
mltiplo de b ms grande que no supera a a. Tal mltiplo debe ser cb para c N. Entonces c es el cociente entre a
y b. El resto se determina haciendo r = a cb. Trasladaremos esta misma idea al campo de los nmeros enteros,
a n de denir divisin en Z. Para eso, digamos que dado b Z, con b 6= 0, el conjunto de mltiplos de b
es {kb : k Z}. Debe notarse que este conjunto no tiene cota superior ni inferior. Supongamos que deseamos
dividir el entero a por el entero no nulo b. Para nosotros, eso va a signicar buscar el mayor mltiplo de b que
no supere a a, digamos que sea cb, para algn c Z. Hagamos r = a cb. Entonces, c es el cociente y r el
resto de la divisin entre a y b.
Est claro que, en caso de ser a y b naturales, la divisin entera entre a y b coincide con la divisin natural
entre ellos. Veamos los siguientes ejemplos:

1. a = 10 yb = 3. Los mltiplos de 3 que circundan a 10 son 9 y 12. El mayor mltiplo de b que no


supera a a es 9 = (3) (3) = (3) b. Por lo tanto, el cociente es c = 3. El resto es r = a cb =
10 (3) (3) = 1.
2. a = 10 y b = 3. Los mltiplos de 3 que andan cerca de 10 son 12 y 9. El mayor mltiplo
de b que no supera a a es 12 = (4) 3 = (4) b. Por lo tanto, el cociente es c = 4. El resto es
r = a cb = 10 (4) 3 = 2.
3. a = 10 y b = 3. Los mltiplos de 3 ms cercanos a 10 son 12 y 9. El mayor mltiplo de b
que no supera a a es 12 = 4 (3) = 4b. Por lo tanto, el cociente es c = 4. El resto es r = a cb =
10 4 (3) = 2.
4. a = 12 y b = 3. Los mltiplos de 3 en las cercanas de 12 son 9, 12, 15. El mayor mltiplo de
b que no supera a a es 12 = (4) (3) = (4) b. Por lo tanto, el cociente es c = 4. El resto es
r = a cb = 12 (4) (3) = 0.
5. a = 0 y b = 3. Los mltiplos de 3 ms cercanos a 0 son 3, 0, 3. El mayor mltiplo de b que no
supera a a es 0 = 0 (3) = 0b. Por lo tanto, el cociente es c = 0. El resto es r = a cb = 0 0 (3) = 0.

Todo lo dicho anteriormente a nivel intuitivo sirve para comprender mejor el teorema de la divisin de
enteros, que enunciamos a continuacin, y cuya demostracin es muy similar a la del teorema de la divisin de
naturales.

Teorema 2.15. ( Teorema de la divisin de nmeros enteros ) Sean a y b dos nmeros enteros, con
b 6= 0. Existe un nico par de nmeros enteros c y r con 0 r < |b| tales que a = cb + r.
Demostracin. Consideremos el conjunto M = {x N : k Z : x = a kb :}, que se trata de un con-
junto no vaco: tomando k = |a||b|/b (que es entero pues |b|/b vale 1 o 1) se tiene que
|a||b|
a kb = a + b = a + |a||b| a + |a| 0
b
Como M es un subconjunto no vaco de naturales, tiene mnimo elemento, llammosle r. Entonces, es r = a cb
para algn c Z. Como r M , es r 0. Falta ver que r < |b|.
1. Si b > 0, es (c + 1) b > cb por lo que a (c + 1) b < a cb. Como a cb es el mnimo elemento en M ,
debe ser a (c + 1) b < 0, por lo que a cb b < 0, y entonces a cb < b, que es lo mismo que decir
r < |b|.
2. Si b < 0, es (c 1) b > cb por lo que a (c 1) b < a cb. Como a cb es el mnimo elemento en M ,
debe ser a (c 1) b < 0, por lo que a cb + b < 0, y entonces a cb < b, que es lo mismo que decir
r < |b|.
Como vemos, en cualquier caso es r < |b|.
Hasta el momento, hemos probado la existencia de una pareja de nmeros enteros c y r tales que a = cb + r
0 0
con 0 r < |b|. Para terminar de demostrar el teorema, falta ver la unicidad. Sean c y r dos nmeros enteros
0 0 0 0 0 0 0
tales que a = c b + r con 0 r < |b|. Entonces cb + r = c b + r , por lo que b (c c ) = r r , de donde

(D2) |b| |c c0 | = |r r0 |
Ya que 0 r < |b|, es |b| < r 0, y por lo tanto, como 0 r0 < |b|, resulta |b| < r0 r < |b|,
0 0 0
y entonces |r r| < |b|. De all que, observando (D2), sea |b| |c c | < |b|, vale decir, |b| |c c | |b| < 0, o
0 0 0
equivalentemente |b| (|c c | 1) < 0. Pero |b| es natural. Luego, debe ser |c c | 1 < 0, o sea |c c | < 1.
0 0
Como el nico natural menor que 1 es 0, debe ser |c c | = 0, de donde c = c. Con esto, volviendo a observar
0 0
(D2), tenemos que |r r | = 0, y por lo tanto tambin es r = r . Luego, el par de enteros c y r es el nico que
satisface las condiciones del enunciado del teorema. 
4. LA DIVISIN DE NMEROS ENTEROS 27

Definicin 2.16. Sean a y b nmeros enteros, con b 6= 0. Los nicos nmeros enteros c y r tales que
a = cb + r con 0 r < |b| se denominan, respectivamente, cociente y resto de la divisin entre a y b,
denotados c (a, b) y r (a, b).
Podemos calcular el cociente y resto de la divisin de los enteros a y b con el auxilio del algoritmo de la
divisin de nmeros naturales. Observemos que |a| y |b| son siempre nmeros naturales, as que existen naturales
c y r tales que |a| = c |b| + r con 0 r < |b|. El desafo es ahora ver cmo usar ese c y ese r para encontrar
cociente y resto de la divisin entre a y b.

1. Supongamos que es a 0 y b < 0. Entonces, es a = c (b) + r = (c) b + r , con 0 r < |b|. Luego,
el cociente entre los enteros a y b es el opuesto del cociente entre los naturales |a| y |b|, y el resto es el
mismo.
2. Supongamos que es a < 0 y b > 0. Entonces, es a = cb + r, con 0 r < |b|. Operando, tenemos que
a = (c) b r.
a ) Si fuese r = 0, tenemos a = (c) b, por lo que el cociente entre los enteros a y b sera c, y el resto
0.
b ) Si fuese r > 0, es a = (c) b r + b b = (c 1) b + (b r). Como era 0 < r < b, tenemos que
0 b r < b. Luego, el cociente entre los enteros a y b es c 1, y el resto es b r.
3. Supongamos que es a < 0 y b < 0. Entonces, es a = c (b) + r , con 0 r < |b|. Operando, tenemos
que a = cb r .
a ) Si fuese r = 0, tenemos a = cb, por lo que el cociente entre los enteros a y b sera c, y el resto 0.
b ) Si fuese r > 0, es a = cb r + b b = (c + 1) b + (b r). Como era 0 < r < b, tenemos que
0 b r < b = |b|. Luego, el cociente entre los enteros a y b es c + 1, y el resto es b r.
Lo que hemos visto nos dice cmo encontrar cociente y resto de una divisin entre enteros, sabiendo encontrar
cociente y resto de una divisin entre naturales. Esto ltimo era llevado a cabo por ejemplo por el algoritmo
cr (a, b), donde a y b son naturales. Podemos entonces escribir un algoritmo crent (a, b), apto para recibir a y b
enteros, y contestar el cociente y resto de a dividido por b.
crent(a, b) =
sea (c, r) = cr (|a|, |b|)
si (a 0)
si (b > 0) contestar (c, r)
sino contestar (c, r)
sino
si (b > 0)
si (r = 0) contestar (c, 0)
sino contestar (c 1, b r)
sino
si (r = 0) contestar (c, 0)
sino contestar (c + 1, b r)
Por supuesto que la invocacin a cr (|a| , |b|) podra reemplazarse por una llamada a cr10 (|a| , |b|) y el
algoritmo andara igualmente bien, excepto que mucho ms eciente.

4.1. Algunas propiedades de la divisin. La ms elemental de las propiedades nos dice, a grandes
rasgos, que si dividimos por b el resto de una divisin por b, obtenemos el mismo nmero como resto.

Para todos a y b enteros con b 6= 0, es r r(a, b), b = r(a, b).



Proposicin 2.17.

Demostracin. Se tiene que a = c(a, b) b + r(a, b) con 0 r(a, b) < |b|. Luego,r(a, b) = 0 b + r(a, b) en
donde 0 r(a, b) < |b|. Luego, por el Teorema de la Divisin, se tiene que r r(a, b), b = r(a, b). 
Supongamos que a, d y b son enteros con b 6= 0, y que conocemos cociente y resto de la divisin entre a y b,
y tambin cociente y resto de la divisin entre d y b. Ser posible conocer, en base a ello, cociente y resto de
a+d dividido b, y de ad dividido b, sin calcular a + d y ad? Tal vez, lo primero que se nos viene a la cabeza es
decir que r (a + d, b) = r (a, b) + r (d, b), es decir, que el resto de la suma es igual a la suma de los restos. Pero
un poco de reexin nos advierte sobre el peligro que puede haber: individualmente, tanto r (a, b) como r (d, b)
son menores que |b|, pero puede que su suma no lo sea, y entonces, en ese caso, esa suma no puede ser el resto
de una divisin por b. Sin embargo, el teorema de la divisin nos da herramientas para averiguar r (a + d, b) sin
necesidad de sumar a con d.

Proposicin 2.18. Sean a, d y b enteros con b 6= 0. Entonces,



c(a + d, b) = c(a, b) + c(d, b) + c r(a, b) + r(d, b), b

r(a + d, b) = r r(a, b) + r(d, b), b

r(ad, b) = r r(a, b) r(d, b), b
28 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

Demostracin. Del teorema de la divisin, existen enteros c1 , c2 , r1 y r2 tales que

a = c1 b + r1 0 r1 < |b|
d = c2 b + r2 0 r2 < |b|
Adems, existen enteros c3 y r3 tales que r1 + r2 = c3 b + r3 con 0 r3 < |b|. Por lo tanto,

a+d = c1 b + r1 + c2 b + r2 = c1 b + c2 b + (r1 + r2 )
= c1 b + c2 b + c3 b + r3
= (c1 + c2 + c3 ) b + r3
Entonces, hemos expresado al nmero a+d como la suma entre un mltiplo de b y un entero no negativo
menor que |b|. Entonces, por el teorema de la divisin, es

c (a + d, b) = c1 + c2 + c3 = c (a, b) + c (d, b) + c (r1 + r2 , b)



= c (a, b) + c (d, b) + c r(a, b) + r(d, b), b
y tambin

r (a + d, b) = r3 = r (r1 + r2 , b)

= r r(a, b) + r(d, b), b
Listo lo referente a la suma. Para la aseveracin relativa al producto ad, notemos que existen enteros c4 y
r4 tales que r1 r2 = c4 b + r4 con 0 r4 < |b|. Por lo tanto,

ad = (c1 b + r1 ) (c2 b + r2 ) = (c1 c2 b + c1 r2 + r1 c2 ) b + r1 r2


= (c1 c2 b + c1 r2 + r1 c2 ) b + c4 b + r4
= (c1 c2 b + c1 r2 + r1 c2 + c4 ) b + r4
Entonces, hemos expresado al nmero ad como la suma entre un mltiplo de b y un entero no negativo
menor que |b|. Entonces, por el teorema de la divisin, es

r (ad, b) = r4 = r (r1 r2 , b)

= r r(a, b) r(d, b), b
quedando as probada la proposicin. 
 
2
 2
En particular, haciendo d = a en la proposicin anterior, tenemos que r a , b = r (r (a, b)) , b . Podemos

generalizar esto as:


 n 
Proposicin 2.19. Sean a, b Z con b 6= 0, y n un entero positivo. Entonces, r (an , b) = r r(a, b) , b .
Demostracin. Haremos induccin sobre n 1.
1. El caso n=1 es cierto, por la proposicin 2.17.
 n 
2. Supongamos ahora que r (an , b) = r r(a, b) , b . Entonces,

r an+1 , b = r (an a, b) = r r (an , b) r(a, b), b


 
  
n    n 
= r r r(a, b) , b r r(a, b), b , b = r r(a, b) r(a, b), b
 n+1 
= r r(a, b) ,b
y por lo tanto, la proposicin se cumple para n + 1.

Esta ltima proposicin es de gran ayuda, junto con la proposicin 2.18, para encontrar restos de divisiones
de una potencia por un dado nmero, sobre todo si la potencia es alta y produce errores de desborde en la
calculadora con que contamos para hacer los clculos.

Ejemplo 2.20. Calcular el resto de la divisin entre 12121 y 13. Tenemos que r (12, 13) = 12 y que
2
 60
r 12 , 13 = r (144, 13) = 1 pues 144 = 11 13 + 1. Adems, 12121 = 122 12 = 14460 12. Aplicando las
proposiciones 2.18 y 2.19, aprovechamos todo esto de la siguiente forma:

r 12121 , 13 = r 14460 12, 13 = r r 14460 , 13 r (12, 13) , 13


   
 60 
12, 13 = r 160 12, 13 = r (12, 13) = 12

= r r(144, 13)

Entonces, el resto de la divisin entre 12121 y 13 es 12. 


5. NMEROS PRIMOS Y COMPUESTOS 29

Ejemplo 2.21. Calcular el resto de la divisin entre 534.567 y 8. Como r(52 , 8) = 1 y 34.567 = 2 17.283 +1,
tenemos que 534.567 = 2517.283 5, de donde
         
r 534.567 , 8 = r r(5, 8)r 2517.283 , 8 , 8 = r 5r r(25, 8)17.283 , 8 , 8
   
= r 5r 117.283 , 8 , 8 = r(5, 8) = 5

4.2. Divisibilidad en el campo de los enteros. Extenderemos ahora el concepto de divisibilidad visto
para nmeros naturales, al conjunto de los nmeros enteros, con obvias modicaciones.

Definicin 2.22. Sean a y b dos enteros, con b 6= 0. Se dice que b divide a a si el resto de la divisin
entre a y b es 0.
Seguimos usando frases como  es factor de, o  es divisor de, o  es mltiplo de , o  es divisible
por, y tambin usamos la notacin b | a (sobreentendiendo que b 6= 0). Del teorema de la divisin de enteros,
surge que, para b 6= 0,
b | a c Z : cb = a
0 no divide a ningn entero. Adems, cualquier entero no nulo divide a 0 (a Z {0} , 0 = 0 a), 1 y 1
dividen a cualquier entero (a Z, a = a 1 a = (a) (1)), y cualquier entero a 6= 0 es divisible por s mismo
y por su opuesto (a Z {0} , a = 1 a a = (1) (a)). Se sigue cumpliendo la transitividad de la relacin
ser divisible por.
Una propiedad importante, pues nos permitir ignorar los signos a la hora de vericar divisibilidad entre
enteros, es la siguiente:

Sean a y b enteros, con b 6= 0. Se tiene que b | a si, y slo si, |b| |a|.

Proposicin 2.23.

Demostracin. Supongamos que


b | a. Entonces existe cZ tal que a = cb, por lo que |a| = |c| |b| con
|c| N. Luego, |b| |a|.
Supongamos ahora que |b| | |a|. Existe cN tal que |a| = c |b|. Pero entonces es a = cb o a = (c) b, y, en
cualquier caso, se tiene que b | a. 
Veamos ahora otras propiedades de la divisibilidad, correlato de las correspondientes propiedades de la
divisibilidad en naturales.

Proposicin 2.24. Sean a y b enteros no nulos. Si b | a, entonces es |b| |a|.



Demostracin. Como b | a, tenemos que |b| |a| (proposicin 2.23) y entonces, por proposicin 2.9, te-
nemos que |b| |a|. 
Entonces deducimos que todo entero no nulo tiene una cantidad nita de factores, la mitad de ellos
es positiva y la otra mitad negativa.

Proposicin 2.25. Supongamos que a y b son enteros tales que b | a y que a | b. Entonces es a = b o
a = b.
Demostracin. Como b | a y a | b, tenemos que |b| |a| y que |a| |b|. Entonces |a| = |b|, de donde se
sigue que es o bien a=b o bien a = b. 
Proposicin 2.26. Supongamos que b | a1 , b | a2 , ..., b | ak , donde b, a1 , ..., ak son enteros. Entonces b
divide a cualquier combinacin lineal a coecientes enteros de a1 , a2 , ..., ak .
Proposicin 2.27. Sean a1 , a2 , ..., ak , ak+1 y b enteros, y supongamos que b | a1 , b | a2 , ..., b | ak . Se
tiene que b | a1 + a2 + + ak + ak+1 si, y slo si, b | ak+1 .
5. Nmeros primos y compuestos

Sea a un nmero entero. Para l, podemos elaborar su conjunto de divisores, es decir, el conjunto
{b Z : b | a}. Ese conjunto de divisores nunca es vaco: al menos 1, 1 estn all, y si adems es a 6= 0, a y a
tambin estn. Un factor de a que no es 1, ni 1, ni a ni a, se llama divisor propio de a. Los nmeros 1
y 1 (y a y a, si a 6= 0) son los divisores impropios de a. Notar que el mdulo de un divisor propio es al
menos 2, y si a 6= 0, menor que |a| (proposicin 2.24).

Ejemplo 2.28. El conjunto de divisores de 4 est compuesto por 4, 2, 1, 1, 2 y 4. El nmero 4 posee,


adems de sus divisores impropios, los divisores propios 2 y 2. 
Ejemplo 2.29. El conjunto de divisores de 5 est compuesto por 5, 1, 1 y 5. Entonces, el 5 no posee
divisores propios. 
30 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

En base a la cantidad de elementos que tenga el conjunto de divisores de un nmero, ste puede ser clasicado
en dos categoras.

Definicin 2.30. Se dice que un entero es un nmero primo si su conjunto de divisores consta exactamente
de cuatro elementos. Un entero se llama compuesto si su mdulo es mayor que 1 y no es un nmero primo.

Veamos algunos ejemplos:

1. 0 no es un nmero primo pues posee innitos divisores, y no exactamente cuatro. Tampoco es un nmero
compuesto.
2. 1 no es un nmero primo pues su conjunto de divisores consta de slo dos elementos, 1 y 1. Tampoco
es un nmero compuesto. Lo mismo vale para 1.
3. 2 es primo, pues su conjunto de divisores es {2, 1, 1, 2}, es decir, tiene exactamente cuatro miembros.
Igualmente, 2 es primo.
4. 3 y 3 son primos, pues el conjunto de divisores es {3, 1, 1, 3} y entonces consta de exactamente
cuatro elementos.
5. 4 no es primo, pues su conjunto de divisores es {4, 2, 1, 1, 2, 4}, que no consta de exactamente
cuatro elementos, sino de seis. Entonces, 4 es un nmero compuesto, as como 4.
De la denicin, se desprende que, para a Z,
a es primo (|a| > 1 a no tiene divisores propios)

Ya que b|a si, y slo si, b | a, se deduce que el conjunto de divisores que tiene un nmero a es el mismo
que el conjunto de divisores de a. Por eso, un nmero a es primo si, y slo si, a es tambin primo.
Ya que b|a si, y slo si, b | a, para detectar si un nmero entero a es primo, alcanza con ver su conjunto
de divisores positivos : a es primo si, y slo si, tiene exactamente dos divisores positivos.
5.1. Pruebas de primalidad. Desde hace mucho tiempo, los nmeros primos han concentrado el inters
de los matemticos. Hay muchas cuestiones relativas a ellos que los hacen particularmente atractivos. Primero,
dado un nmero cualquiera, como por ejemplo 123.456.787, cmo decidir si es primo? Segundo, cul es el
primo ms grande? O ser que la cantidad de primos es innita, y por tanto no hay uno que sea mayor que
todos los otros? Tercero, hay primos de la forma 2n 1 para n natural? En caso de haberlos, son innitos?
Para la primera pregunta, se han ideado tests de primalidad, es decir, algoritmos para decidir si un dado
nmero es primo o no. Ya veremos algunos bsicos. El segundo grupo de preguntas ha sido ya contestado,
alrededor del ao 300 a.C., por el griego Euclides, y ms adelante veremos cmo procedi para contestar. La
ltima pregunta del tercer grupo es slo un ejemplo de los abundantes problemas abiertos que al da de la fecha
se encuentran sin resolver en relacin a los nmeros primos. Hay efectivamente primos de la forma 2n 1 (probar
con n = 5) pero an no se sabe si hay innitos primos de tal forma. Y as como sta, hay muchsimas cuestiones
sin resolver.
Por qu interesa saber si un nmero dado es o no primo? Ms adelante veremos que los nmeros primos
son bsicos en cierto sentido, es decir, son como los ladrillos que constituyen el muro de la teora de nmeros.
Entonces los nmeros primos tienen un gran inters terico. Pero tambin prctico: los mtodos actuales de
seguridad para proteger sistemas suelen basar esa seguridad en el conocimiento de nmeros primos muy pero
muy grandes (de alrededor de 200
300 dgitos, o ms).
o
Cmo saber si un nmero entero a es primo? Sabemos que a es primo si, y slo si, |a| es primo, as que
podemos idear un procedimiento para testear si un natural n es primo. Por la denicin, y por el hecho de que
un nmero natural no tiene divisores mayores que l, hay que testear si n posee un divisor entre 2 y n 1. Es
decir, probar si 2 | n, si 3 | n, ..., si n 1 | n. Si alguna de esas divisibilidades se cumple, entonces n no es
primo, y, en caso contrario, s. Eso da un primer algoritmo, primo1 (a), que contesta V si el entero a es primo,
y F si no. Como recursivamente hay que ir probando si un nmero dado tiene factores, el algoritmo incluye una
funcin hija recursiva probarf actor1 (n, f ), que comprueba si f es factor de n.

primo1(a) =
si (|a| 1) contestar F
sino contestar probarf actor1(|a|, 2)

probarf actor1(n, f ) =
si (f = n) contestar V
sino 
si r(n, f ) = 0 contestar F
sino contestar probarf actor1(n, f + 1)
En denitiva, probarf actor1 recibe como argumento un natural n, y se dedica a probar uno por uno los
nmeros de 2 hasta n 1, a ver si uno de ellos es un divisor de n. Si encuentra uno que sea divisor, naliza
la ejecucin contestando que no. Obviamente, cuando a es un primo de mdulo mayor que 2, el nmero de
invocaciones a probarf actor1 es |a| 1.
5. NMEROS PRIMOS Y COMPUESTOS 31

Veamos cmo mejorar varios aspectos del algoritmo.

1. Supongamos que estamos viendo si 25 es primo. Lo primero a hacer es ver si 2 es un factor de 25. No lo
es, y entonces continuamos, viendo si 3 es factor de 25. No lo es, y entonces continuamos, viendo si 4 es
factor de 25. Alto! Hace falta ver si 4 divide a 25, ya sabiendo que 2 no es factor de 25? Obviamente
que no, por la transitividad de la divisibilidad: como 2 | 4, si a su vez 4 dividiera a 25, tendramos
que 2 dividira a 25. Pero ya sabemos que 2 no es un factor de 25, por lo que no puede ocurrir que 4
divida a 25. Es decir, habiendo probado que 2 no es factor de 25, ya sabemos que 4 tampoco, y, por
un razonamiento anlogo, ni 6, ni 8, ni ningn nmero par. Entonces, una primera mejora al algoritmo
primo1 consiste en probar si a es divisible por 2, y si no lo es, dedicarse a ver, a partir del 3 y yendo
de dos en dos, si encontramos un factor de |a|. Llamemos primo2 (a) al algoritmo que procede de esa
manera, y cuya especicacin es la siguiente:

primo2(a) =
si (|a| 1) contestar F
sino 
si r(a, 2) = 0
si (|a| = 2) contestar V
sino contestar F
sino contestar probarf actor2(|a|, 3)

probarf actor2(n, f ) =
si (f = n) contestar V
sino 
si r(n, f ) = 0 contestar F
sino contestar probarf actor2(n, f + 2)

Gracias a esta modicacin, la cantidad de invocaciones recursivas ser ahora del orden de |a|/2,
es decir, con un simple cambio nos hemos ahorrado la mitad del trabajo.
2. Pero podemos ahorrar an ms trabajo. Cul es el divisor propio ms grande que puede tener 1.891?
Claro que no va a ser 1.890, porque 1.890 2 ya es mucho mayor que 1.891, y peor si lo multiplicamos
por 3, o 4, etc. En realidad, estamos viendo que el mayor divisor propio que puede tener un natural
n 2 no puede ser ms grande que la mitad de n (o la mitad de n 1, si n es impar). Esto nos ahorrara
la mitad de la mitad del trabajo: despus de haber probado si |a| es par, buscar factores propios de |a|
arrancando de 3 y yendo de dos en dos, hasta llegar a la mitad de |a|. Si hasta all no hemos encontrado
factores propios, a debe ser primo. Sin embargo, ahora veremos que no es necesario ni siquiera llegar
a probar hasta la mitad de |a| para comprobar si a es primo. Existe una mejor cota para la decisin.
Resulta que, para decidir si un natural n es primo, alcanza con buscar factores propios hasta la parte

entera del nmero real n, es decir, el mayor nmero natural q tal que q 2 n. Por ejemplo, en el caso
2 2
de n = 1.891, tenemos que 43 = 1.849 1.891, mientras que 44 = 1.936 > 1.891, y por lo tanto, para
testear la primalidad de 1.891, alcanza con buscarle factor hasta el nmero 43. Por qu esto funciona
bien?

Proposicin 2.31. Sea n un nmero natural mayor que 1, y sea q el mayor natural tal que q 2 n. Si n
no tiene factores propios menores o iguales que q , entonces n es un nmero primo.

Demostracin. Demostraremos la contrarrecproca: si n no es primo, entonces tiene al menos un factor


propio menor o igual que q.
Si n no es primo, siendo mayor que 1, tiene un factor propio b, es decir, existe c Z+ tal que n = bc.
1. Si b q , ya est demostrada la implicacin.
2. Si b > q , es b q + 1, por lo que bc (q + 1) c, es decir, n (q + 1) c. Si fuese c q + 1, tendramos
2
n (q + 1) , contradiciendo que q es el mximo natural cuyo cuadrado no supera a n. Entonces, es
c < q + 1, o, equivalentemente, c q . Dado que c tambin es un factor propio de n, queda demostrada
la proposicin.

Entonces, gracias a esta proposicin, podemos poner como cota superior de bsqueda de factores propios

a la parte entera de n (o, equivalentemente, preguntar directamente si el factor que estamos testeando tiene
32 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

cuadrado que supera a n). El siguiente algoritmo, primo (a), trabaja de esa manera.

primo(a) =
si (|a| 1) contestar F
sino 
si r(a, 2) = 0
si (|a| = 2) contestar V
sino contestar F
sino contestar probarf actor(|a|, 3)

probarf actor(n, f ) =
si (f 2 > n) contestar V
sino 
si r(n, f ) = 0 contestar F
sino contestar probarf actor(n, f + 2)
Hace un rato, dijimos que si ya habamos visto que 2 no es un factor de un natural n, no tiene sentido
preguntarse si los mltiplos de 2 son factores de n. Ese razonamiento puede aplicarse tambin a cualquier otro
primo menor que el nmero n cuya primalidad estamos testeando. Si p es un primo menor que n y no es un
factor de n, entonces ningn mltiplo de p puede ser factor de n. Por esta razn, cuando estamos decidiendo
si un natural n es primo, slo hace falta ver si es divisible por algn primo menor que l. Pero de la segunda

consideracin se desprende que alcanza con slo vericar hasta la parte entera de n. De todo eso, se puede
establecer el siguiente criterio para decidir si un nmero natural n es primo:

Elaborar una lista con todos los nmeros primos que no superen a la parte entera de n.
n es primo si, y slo si, ningn nmero de esa lista es factor de n.
Por ejemplo, los primos menores o iguales que 100 son

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
Esa lista alcanza para decidir si un natural n 10.000 es o no primo. Por ejemplo, 8.633 no es primo, pues
es divisible por 89. El nmero 9.973 es primo pues no es divisible por ningn elemento de esa lista. La lista no

alcanza para saber si 100.001 es o no primo, pues la parte entera de 100.001 es 316, y entonces, para saber si
100.001 es primo, hace falta la lista de todos los primos que no superan a 316. Si queremos saber si un nmero
de 30 cifras es primo, por este criterio hace falta conocer los primos que tengan hasta 15 dgitos.

5.2. La criba de Eratstenes. Acabamos de ver que, para ciertos objetivos, es muy til tener una
lista con todos los naturales primos hasta un cierto lmite superior N . Por ejemplo, eso sirve para testear
ecientemente la primalidad de cualquier nmero menor que N 2 . Cmo se puede elaborar sistemticamente tal
lista? Una manera es invocar al algoritmo primo (a) muchas veces, con todos los nmeros naturales hasta N , a
ver cules son primos. Eso va a tardar mucho tiempo. Resulta que en el siglo III a.C., a un griego de nombre
Eratstenes se le ocurri una muy buena idea: en vez de ver cules nmeros menores o iguales que N son primos,
averiguar cules son compuestos. De entrada, parece ser lo mismo que averiguar cules son primos, pero resulta
que no, y la explicacin est en el procedimiento que se emplea para detectar a los nmeros compuestos.
El procedimiento es as:

1. Escribir los nmeros del 2 al N en forma consecutiva (sta es nuestra lista inicial)
2. A partir de 2, vamos tachando todos los nmeros de dos en dos (hasta llegar al nal de la lista), pero
sin tachar al propio 2.
3. El primer nmero que qued sin tachar despus de 2 es 3. Entonces, a partir de 3, vamos tachando
todos los nmeros de la lista inicial de tres en tres, pero sin tachar al propio 3 (si un nmero ya haba
sido tachado en el paso anterior, lo dejamos tachado como estaba).
4. El primer nmero que qued sin tachar despus de 3 es 5 (al 4 ya lo habamos tachado cuando fuimos de
dos en dos desde el 2). Entonces, a partir de 5, vamos tachando todos los nmeros de la lista inicial de
cinco en cinco, pero sin tachar al propio 5 (y dejando tachados a los nmeros que ya estaban tachados
en el paso anterior).
5. El primer nmero que qued sin marcar despus de 5 es 7 (al 6 ya lo habamos tachado cuando fuimos
de dos en dos desde el 2, y lo volvimos a tachar cuando fuimos de tres en tres desde el 3). Entonces,
a partir de 7, vamos tachando todos los nmeros de la lista inicial de siete en siete, pero sin tachar al
propio 7.
6. El primer nmero que qued sin tachar despus de 7 es 11 (al 8 y al 10 ya los habamos tachado cuando
fuimos de dos en dos desde el 2, y al 9 lo hemos tachado cuando fuimos de tres en tres desde el 3).
Entonces, comenzando en 11, vamos tachando todos los nmeros de la lista inicial de once en once, pero
sin tachar al propio 11.
5. NMEROS PRIMOS Y COMPUESTOS 33

Y as continuamos, viendo cul es el primer nmero sin tachar a la derecha del cual empezamos en el paso
anterior, y vamos de a saltos tachando nmeros de la lista inicial. Repetimos este procedimiento hasta que

lleguemos a que el primo a partir del cual tenemos que comenzar el proceso supera a la parte entera de N.
Los nmeros de la lista inicial que han quedado sin tachar son los primos menores o iguales que N.
Qu es lo que estamos haciendo con este procedimiento? El primer paso consiste en escribir la lista completa
de nmeros del 2 al N. En el paso siguiente, estamos averiguando todos los nmeros compuestos de esa lista
que tienen a 2 como factor. En el siguiente, todos los compuestos de la lista que tienen a 3 como factor. En el

siguiente, todos los compuestos que tienen a 5 como factor. Y as, hasta llegar a parte entera de N.
Una criba es un colador (claro que nos resultara raro que m nos diga ayudame a cribar los deos que acaban
de hervir en la olla, pero no nos asustaramos si nos pide ayudame a colar los deos). En el procedimiento
anterior, lo que estamos haciendo es cribar los nmeros de2 a N , repetidas veces, a n de eliminar los compuestos
y retener slo los primos. Al tachar los compuestos mltiplos de 2, estamos cribando los mltiplos de 2,
reteniendo slo a 2, y a todos los otros nmeros que no son mltiplos de 2; de ellos, al tachar los compuestos
mltiplos de 3, estamos cribando los mltiplos de 3, reteniendo slo a 2, a 3, y a los que no son mltiplos de
2 ni de 3. Y as, sucesivamente, por deteccin y tachado de los nmeros compuestos de la lista, nos quedamos
slo con los primos.

Ejemplo 2.32. Apliquemos el mtodo de la criba de Eratstenes para encontrar los primos menores o
iguales que N = 49. Mostramos paso a paso el procedimiento:

1. Lista inicial:

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

2. Primer cribado (tachar los compuestos que son mltiplos de 2, salvo el propio 2):
2 3 4
 5 6 7 8
 9 
1
0 11 
1
2 13 
1
4 15 
1
6 17 
18
 19 
2
0 21 
2
2 23 
24
 25
26
 27 
 2
8 29 
30 31 
32
 33 
3
4 35 
36
 37 
3
8 39 
4
0 41 
42
 43 
4
4 45 
4
6 47 
4
8 49

3. Segundo cribado (tachar los compuestos que son mltiplos de 3, salvo el propio 3):
2 3 4
 5 6
 7 8
 9 1
0 11 1
2 13 1
4 15
 1
 6 17 
18
 19 20 
21
 2
 2 23 
24
 25
26
 2

  7 2
 8 29 3

 0 31 32

 33 3
4 35 3
6 37 38
  39
 4
0 41 42

 43 44
  45
 4
6 47 8 49
4


4. Tercer cribado (tachar los compuestos que son mltiplos de 5, salvo el propio 5):
2 3 4
 5 6 7 8 
 9 1
0 11 
1
2 13 
1
4 
15
 1
6 17 
18
 19 
2
0 
21
 2
2 23 
24
 2
5
26
 
 2
7 
2
8 29 
30 31 
32
 33 
3
4 
35
 3
6 37 
3
8 
39
 4
0 41 
42
 43 
4
4 
45
 4
6 47 
48
 49

5. Cuarto cribado (tachar los compuestos que son mltiplos de 7, salvo el propio 7):
2 3 4
 5 6 7 8 
 9 1
0 11 
1
2 13 
1
4 
15
 1
6 17 
18
 19 
2
0 
21
 2
2 23 
24
 2
5
26
 
 2
7 
2
8 29 
30 31 
32
 33 
3
4 
35
 3
6 37 
3
8 
39
 4
0 41 
42
 43 
4
4 
45
 4
6 47 
48
 4
9

Y ya no hace falta cribar ms, porque el prximo nmero a partir del cual habra que empezar el proceso

es 11, que ya es mayor que la parte entera de 49 que es 7. Los nmeros que no tienen marca abajo son los
primos de la lista: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43 y 47. 
5.3. Innitud de los nmeros primos. Ahora vamos a demostrar una importante propiedad legada
por Euclides hace ya mucho tiempo: existen innitos nmeros primos en el conjunto de los enteros.

Lema 2.33. Todo nmero natural compuesto es divisible por un natural primo.
Demostracin. Demostraremos la propiedad por el PCMC. Sea n un contraejemplo, es decir, sea n un
natural compuesto que no sea divisible por ningn nmero primo. Por ser compuesto, n debe tener un factor
propio b 1 < b < n. Por nuestra suposicin, b no puede ser un nmero primo, por lo que b es compuesto.
tal que
Puede ser b divisible por algn nmero primo? No, pues, de serlo, ese primo dividira tambin a n (transitividad
de la divisibilidad), lo que contradira que n no es divisible por un nmero primo. Entonces, b es un natural
compuesto que tampoco es divisible por un nmero primo. O sea que b es tambin un contraejemplo al enunciado,
y menor que el contraejemplo n. Entonces, por el PCMC, el lema queda demostrado. 
Teorema 2.34. (Euclides) Existen innitos nmeros enteros que son primos.
Demostracin. Dado que N Z, alcanza con ver que existen innitos naturales primos. Sea P el conjunto
de todos los naturales primos. Si P fuese nito, tendra un elemento mximo a. Hagamos n = a! + 1, resultando
que n es estrictamente mayor que 1 y que a, y entonces n / P , es decir, n es un natural compuesto. Luego, n
es divisible por un natural primo p P (lema 2.33). Pero el resto de dividir n entre p es 1, pues 1 < p a y
n = a(a 1) (p + 1)p(p 1) 2 1 + 1 (expresin que corresponde a la ecuacin de la divisin entre n y p).
34 2. EL CONJUNTO DE LOS NMEROS ENTEROS. DIVISIBILIDAD

Contradiccin que proviene de suponer la existencia de una cantidad nita de nmeros primos. Por lo tanto,
existen innitos primos. 

6. Algunas curiosidades

6.1. Nmeros de Fibonacci. De todas las funciones recursivas, tal vez la ms clsica sea la que permite
denir los nmeros de Fibonacci. Los mismos surgieron en base a un problema terico propuesto por Leonardo
de Pisa (Fibonacci) en el siglo XIII, relacionado a la reproduccin de conejos en una granja. La sucesin de
Fibonacci comienza as:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, . . .
Los puntos suspensivos indican que la lista es innita. Cada trmino de la sucesin (salvo los dos primeros)
se obtiene de sumar los dos que estn inmediatamente a su izquierda. Los dos primeros, que constituyen la
base para armar la sucesin completa, son 0 y 1. Formalmente, si designamos por fn al n-simo trmino de la
sucesin, es f0 = 0 , f1 = 1 y, para n 2, es fn = fn1 + fn2 . Surgieron varios problemas interesantes en
relacin a esta sucesin:

1. Tienen algn factor propio en comn dos trminos consecutivos de la sucesin? Por induccin se
demuestra que no.
7 n

2. Cmo crecen los trminos de la sucesin? Tambin por induccin, se puede ver que fn 4 , es decir,
que la sucesin est acotada superiormente por una funcin exponencial creciente.
3. Hay alguna frmula para conocer fn directamente en funcin de n, sin necesidad de calcular los dos
trminos anteriores? S. La expresin fn = fn1 + fn2 ecuacin de diferencias
es un ejemplo de
nitas, o ecuacin de recurrencia, y hay una teora general de resolucin de tales ecuaciones.
Aplicada al caso, se llega a deducir que
!n !n
1 1+ 5 1 1 5
fn =
5 2 5 2
Est frmula puede vericarse por induccin. Para n grande, predomina el primer trmino, as que
se ve que el n-simo nmero de Fibonacci es casi proporcional a una funcin exponencial a tasa igual

a la razn de oro (que es 1+ 5 /2, nmero importante histrica y arquitectnicamente).

6.2. Algunas conjeturas sobre nmeros primos.


1. Conjetura de Goldbach: Es cualquier nmero par igual a la suma de dos nmeros primos? Por anlisis
de casos individuales, eso pareciera ocurrir siempre. Por ejemplo: 16 = 5 + 11, 22 = 11 + 11. Y se han
hecho muchas pruebas, desde el siglo XVII en que fue planteada la conjetura. Al da de la fecha, sigue
siendo un interrogante.
2. Primos gemelos: Dos nmeros primos se llaman gemelos si dieren en dos unidades. Por ejemplo,
71 y 73 son primos gemelos. La conjetura es: Existen innitos pares de primos gemelos? Hasta el
momento, los primos gemelos ms grandes que se han descubierto son 33.218.925 2169.690 1 y
169.690
33.218.925 2 + 1. Ocurri en el ao 2002, y cada nmero tiene 51.090 dgitos.
3. Primos de Mersenne: En el siglo XVII, el monje francs Marin Mersenne estudi nmeros de la forma
2n 1, interesndose en los valores de n para los cuales la expresin produce nmeros primos. Los
primos de la forma 2n 1 se llaman primos de Mersenne. El monje ofreci varios de esos n, de los
cuales se equivoc en algunos (por ejemplo, arm que 2257 1 es primo; recin en el siglo XX, gracias
a las calculadoras, se pudo vericar que no). La principal conjetura que formul es que hay innitos
primos de esa forma. Hasta este momento, saber si hay innitos primos de Mersenne es un problema
24.036.583
abierto. El mayor de los primos de Mersenne descubiertos hasta ahora es 2 1, con 7.235.733
dgitos, en mayo de 2004.
4. Se ha demostrado que entre un nmero positivo cualquiera y su doble siempre existe al menos un primo.
Es decir, n 1, p : n p 2n p es primo. Pero se buscan ms pistas sobre la distribucin de los
primos a lo largo de la recta numrica. Por ejemplo, est abierta la cuestin de si entre dos cuadrados
2
perfectos consecutivos hay un primo, es decir, si n 1, p : n2 p (n + 1) p es primo. Por lo
2
que antes se dijo, hay un primo entre n2 y 2n2 , 2
pero (n + 1) < 2n , de modo que la existencia de un
primo entre dos cuadrados consecutivos no puede resolverse sabiendo que siempre hay un primo entre
un nmero y su doble.

6.3. Nmeros perfectos. Un nmero perfecto es un natural que es igual a la suma de sus divisores
positivos menores que l mismo. Por ejemplo, 6 = 3 + 2 + 1, mostrando que 6 es perfecto, y el menor de todos.
Le siguen 28, 496 y 8.128. Euclides descubri que esos cuatro nmeros salen de aplicar la frmula 2n1 (2n 1)
con, respectivamente, n = 2, 3, 5, 7. A no equivocarse: no es cierto que si n es primo, la frmula produzca siempre
nmeros perfectos (por ejemplo, probar n = 11). Al darse cuenta de que, en esos casos, tambin 2n 1 es un
6. ALGUNAS CURIOSIDADES 35

primo, Euclides conjetur y demostr que si 2n 1 es primo, entonces 2n1 (2n 1) es un nmero perfecto.
Posteriormente, Euler demostr en el siglo XVIII que todos los nmeros perfectos pares se generan a partir de
la frmula que descubri Euclides.
No se conoce la existencia de nmeros perfectos impares, pero, hasta el da de hoy, no est demostrada su
inexistencia. Sin embargo, existen algunos resultados parciales. Si existe un nmero perfecto impar, debe ser
mayor que 10300 , y debe tener al menos ocho factores primos distintos (y al menos once si no es divisible por 3).
7
Uno de esos factores debe ser mayor que 10 , dos de ellos deben ser mayores que 10.000 y tres factores deben
ser mayores que 100.
Se desconoce si hay innitos nmeros perfectos, pues la pregunta est ligada a la existencia de innitos
primos de Mersenne. No es difcil demostrar que el ltimo dgito decimal de un nmero perfecto par es siempre
6 u 8.
6.4. Nmeros amigos. Dos nmeros naturales m y n se llaman amigos si la suma de los divisores
positivos de m (excepto m) es igual a n y viceversa. Pitgoras mostr la existencia de pares de nmeros amigos,
ofreciendo como ejemplo 220 y 284. La lista de divisores de 220 es {1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, 220};
sumando todos ellos excepto 220, se obtiene 284. La lista de divisores de 284 es {1, 2, 4, 71, 142, 284}; sumando
todos ellos excepto 284, se obtiene 220.
Varios aos despus, en el siglo XVII, Fermat ofreci al mundo la segunda pareja de nmeros amigos: 17.296
y 18.416. Fermat descubri tambin una regla para encontrar tales pares: supongamos que p es un nmero tal
que los nmeros q = 3 2p1 1, r = 3 2p 1 y s = 9 22p1 1 son todos primos; entonces, los nmeros
m = 2 qr y n = 2p s son amigos.
p

Al da de la fecha, no se sabe si las parejas de nmeros amigos son innitas.


Captulo 3

MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO

En el captulo anterior, hemos formalizado el concepto de divisibilidad en el campo de los nmeros enteros,
entendiendo qu signica que un nmero sea un factor de otro. Hemos visto que, en la determinacin de la
primalidad de un nmero dado, interesa conocer su lista de factores. En este captulo, consideraremos simult-
neamente las listas de factores de dos nmeros dados, interesndonos en el mayor de los elementos comunes a
ambas listas: el mximo comn divisor de esos dos nmeros. Estudiaremos varias propiedades acerca de l, y
veremos maneras ecientes para calcularlo. Luego, extenderemos la idea a la de mximo comn divisor de varios
nmeros, y veremos una nocin complementaria, la de mnimo comn mltiplo, analizando la estrecha relacin
existente entre ambas. Finalmente presentaremos la aplicacin de estas ideas a la bsqueda de soluciones enteras
de cierto tipo de ecuaciones lineales, en cuya resolucin el mximo comn divisor juega un rol protagnico.

1. Mximo comn divisor

Definicin 3.1. Sean a y b nmeros enteros. Cualquier nmero entero que simultneamente divide a a y
a b se llama un divisor comn de a y b.
Es decir, dZ es un divisor comn (o factor comn ) de a y de b si d | a y d | b.
Una manera de encontrar factores comunes a a y a b es obtener la lista de divisores de ambos, y jarse
cules son los elementos que estn en ambas listas. Si tanto a como b son 0, las dos listas son coincidentes e
innitas. Si al menos uno de los dos es diferente de 0, de la proposicin 2.24, deducimos que ese nmero no nulo
tiene slo una cantidad nita de factores, y, en este caso, la lista de factores comunes a ambos es nita. Por
razones que se harn evidentes ms adelante, interesa mucho conocer cul es el mayor de los elementos de esa
lista nita.

Definicin 3.2. Sean a y b nmeros enteros tales que al menos uno de ellos sea diferente de 0. El mximo
comn divisor de a y b, denotado mcd (a, b), es el mayor de los divisores comunes de a y b.
Obsrvese que la lista de divisores comunes de dos nmeros nunca es vaca: al menos el nmero 1 siempre
est all. Adems, ya dijimos que la lista de divisores comunes es nita si al menos uno de los nmeros es diferente
de 0. Entonces, si a y b no son ambos nulos, el conjunto de sus divisores comunes es no vaco y nito. Por eso,
debe tener un elemento mximo, y, por denicin de mximo de un conjunto, es nico. En otras palabras, el
mximo comn divisor de una pareja de nmeros no simultneamente nulos siempre existe y es nico, y es un
nmero entero positivo.
Cuando dos nmeros a y b tienen un factor propio t en comn, se tiene que su mximo comn divisor es
mayor estricto que 1, pues, en ese caso, es mcd (a, b) |t| 2. Por lo tanto, si mcd (a, b) = 1 es porque ningn
nmero ms grande que 1 es factor comn de a y b. Esta situacin recibe un nombre especial.

Definicin 3.3. Sean a y b dos nmeros enteros. Se dice que a y b son coprimos si no tienen factor comn
ms grande que 1. Equivalentemente, a y b son coprimos cuando mcd (a, b) = 1.
Proposicin 3.4. Sea p un primo, y sea a un entero. Entonces o bien p es un factor de a o bien p y a son
coprimos.
Demostracin. Supongamos que p no es factor de a. El nico factor mayor que 1 que tiene p es |p|, que
no es factor de a. Luego, la lista de factores comunes de p y a es {1, 1}, y entonces mcd (p, a) = 1. 
Cmo se calcula mcd (a, b)? De la denicin, elaborando la lista de factores de a, luego la de b, obteniendo
luego los factores comunes, y nalmente viendo cul es el mximo de ellos. Ntese que, a la hora de encontrar
el mximo comn divisor por este mtodo, nos alcanza con inspeccionar slo los factores comunes positivos.
Adems, dado que la lista de factores comunes de a y b es la misma que la de factores comunes de |a| y |b|
(proposicin 2.23), se tiene que mcd (a, b) = mcd (|a| , |b|), y por esta razn es suciente saber calcular mximo
comn divisor de pares de nmeros naturales.

Ejemplo 3.5. Encontrar mcd (84, 60).


El conjunto de factores positivos de 84 es {1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84}. El conjunto de factores positi-
vos de 60 es {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}. La interseccin de estos dos conjuntos es {1, 2, 3, 4, 6, 12}, cuyo
mximo elemento es 12. Luego, mcd (84, 60) = 12. 
37
38 3. MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO

Como pasa muchas veces, las deniciones no proporcionan el mejor mtodo para calcular algo. Una primera
mejora que podramos hacer al mtodo anterior para calcular mcd (a, b) es la siguiente: considerar slo la lista
de divisores positivos del ms chico entre |a| y |b|, y, de mayor a menor, testear si son divisores del otro tambin,
parando cuando encontremos uno (cosa que siempre va a ocurrir, en el peor de los casos cuando lleguemos a
1). En nuestro ejemplo anterior, esto funcionara as: el ms chico entre 84 y 60 es 60. Su lista de divisores
positivos, ordenada de mayor a menor, es {60, 30, 20, 15, 12, 10, 6, 5, 4, 3, 2, 1}. Es 60 factor de 84? No. Vamos
con el siguiente de la lista: Es 30 factor de 84? No. Y 20? Tampoco. Y 15? Tampoco. Y 12? S. Entonces,
mcd (84, 60) = 12.

1.1. El algoritmo de Euclides. La mejora obtenida ms arriba para encontrar el mximo comn divisor
no es sustancial, y la razn es que seguimos dependiendo de buscar uno a uno factores de nmeros. La bsqueda
de todos los factores de un dado nmero es un proceso tedioso, y difcil de realizar si el nmero en cuestin
es grande (de hecho, esa dicultad es lo que permite garantizar la seguridad de ciertos sistemas). Caramba!
Podemos independizarnos del proceso de factorizar nmeros para encontrar un mximo comn divisor, siendo
que buscamos precisamente un factor comn, y el mayor de todos? La respuesta, por increble que parezca, es
s, y la dio nuestro ya conocido Euclides hace una punta de aos, ofreciendo un algoritmo muy eciente.
Para tratar de entender la idea del algoritmo, consideremos el problema de encontrar mcd (60, 24) elaborando
la lista de divisores comunes a 60 y a 24. La lista de divisores positivos de 60 es {1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60}.
La lista de divisores positivos de 24 es {1, 2, 3, 4, 6, 8, 12, 24}. La lista de los factores positivos comunes a ambos es
{1, 2, 3, 4, 6, 12}. Oh casualidad! Es la misma que la lista de factores positivos comunes a 84 y a 60 (ejemplo 3.5)
Como ambas listas coinciden, sus elementos mximos son iguales. En otras palabras, mcd (84, 60) = mcd (60, 24).
Y qu tiene que ver la pareja (84, 60) con la pareja (60, 24)? 60 aparece en ambas, una vez como segundo ar-
gumento y otra como primero; y 24 es el resto de la divisin entre 84 y 60. De eso se dio cuenta Euclides: de
que la lista de divisores comunes a los nmeros a y b es la misma que la de los divisores comunes a b y r (a, b),
siempre que b 6= 0. Demostrmoslo.

Lema 3.6. Sean a, b y d enteros con b 6= 0. Se tiene que d es un factor comn de a y de b si, y slo si, d
es un factor comn de b y r (a, b).
Demostracin. De la ecuacin de la divisin entre b, tenemos que r (a, b) = a b c (a, b), es decir,
a y
r (a, b) es combinacin lineal a coecientes enteros de ab. Si d | a y d | b, por proposicin 2.26, tenemos
y de
entonces que d | r (a, b). Luego, d es factor comn de b y de r(a, b).
Para la vuelta, observemos que a = b c (a, b) + r (a, b), por lo que a es combinacin lineal a coecientes
enteros de b y r (a, b). Si d | b y d | r (a, b), nuevamente por proposicin 2.26, tenemos que d | a. Luego, d es un
factor comn de a y b. 

Corolario 3.7. Sean a y b enteros con b 6= 0. Entonces, mcd (a, b) = mcd (b, r (a, b)).
El anterior corolario se aprovecha para reducir el clculo de mcd (a, b) mcd (b, r (a, b)), en
al clculo de
donde los nmeros intervinientes son tpicamente ms chicos que los originales a y b. Pero, a su vez, podemos
usar el mismo corolario para decir que si r (a, b) 6= 0, entonces mcd (b, r (a, b)) = mcd (r (a, b) , r (b, r (a, b))). Y
as sucesivamente. Por ejemplo, mcd (84, 60) = mcd (60, 24) = mcd (24, 12) = mcd (12, 0). Hemos llegado a un
punto en que ya no podemos aplicar el corolario, pues el segundo argumento es 0. Sin embargo, no tenemos que
trabajar mucho para darnos cuenta de que mcd (a, 0) = |a| cualquiera sea a 6= 0. Por lo tanto, mcd (12, 0) = 12,
y entonces mcd (84, 60) = 12.
En resumen, el recursivo algoritmo de Euclides para calcular mcd (a, b) es el siguiente:

mcdeucl(a, b) =
si (b = 0) contestar |a| 
sino contestar mcdeucl b, r(a, b)

Vale decir, si b no es 0, dividir a entre b y aplicar el algoritmo al par (b, r (a, b)), repitiendo sucesivamente el
procedimiento de dividir y jarse en el resto, hasta llegar a una divisin con resto 0. Esto va a ocurrir nalmente
en alguna etapa, pues la sucesin de restos que se va obteniendo de las sucesivas divisiones es estrictamente
decreciente. Entonces, el mximo comn divisor buscado es el ltimo resto no nulo que se obtuvo.

Ejemplo 3.8. Encontrar mcd (1.956, 328), por aplicacin del algoritmo de Euclides.
Observemos que

r (1.956, 328) = 316


r (328, 316) = 12
r (316, 12) = 4
r (12, 4) = 0
1. MXIMO COMN DIVISOR 39

Por lo tanto,

mcdeucl (1.956, 328) = mcdeucl (328, r (1.956, 328))


= mcdeucl (328, 316) = mcdeucl (316, r (328, 316))
= mcdeucl (316, 12) = mcdeucl (12, r (316, 12))
= mcdeucl (12, 4) = mcdeucl (4, r (12, 4))
= mcdeucl (4, 0)
= 4
Entonces, mcd (1.956, 328) = 4. Podramos haber deducido sto de slo observar, en la sucesin de restos ms
arriba obtenida, cul fue el ltimo resto no nulo encontrado, que fue precisamente 4. 
Otro resultado interesante es el siguiente:

Corolario 3.9. Sean a y b enteros no ambos nulos, y sea k un entero. Entonces, mcd (a + kb, b) =
mcd (a, b).
Demostracin. Es directo ver que si b es 0, la propiedad se cumple. Ahora si b 6= 0, tenemos que b | kb,
de donde, por proposicin 2.18, es r (a + kb, b) = r (r (a, b) + r (kb, b) , b) = r (r (a, b) , b) = r (a, b). Por lo tanto,
por corolario 3.7, es mcd (a + kb, b) = mcd (b, r (a + kb, b)) = mcd (b, r (a, b)) = mcd (a, b), como queramos
probar. 
1.2. Algunas propiedades de M.C.D. Veremos ahora algunas cuestiones relacionadas al mximo co-
mn divisor, que permiten otras caracterizaciones del mismo. El primer resultado muestra que el mximo comn
divisor de dos nmeros es siempre una combinacin lineal a coecientes enteros de esos dos nmeros.

Teorema 3.10. (Identidad de Bezout) Sean a y b dos nmeros enteros no simultneamente nulos.
Existen enteros s y t tales que sa + tb = mcd (a, b).
Demostracin. Designemos g = mcd (a, b). Consideremos el conjunto C de todas las combinaciones li-
neales a coecientes enteros de a y de b, es decir, C = {xa + yb : x, y Z}. Como a y b no son ambos nulos,
eligiendo adecuadamente x e y se puede ver que hay al menos una combinacin lineal positiva de a y b (por
|a|
ejemplo, si a 6= 0, tomar y = 0 y x =
a , de modo que xa + yb = |a| > 0; similarmente, si fuese b 6= 0, podramos
|b| +
tomar x = 0 e y = ). Designemos por C al conjunto de las combinaciones lineales positivas a coecientes
b
+ + +
enteros de a y de b. Obviamente, C es un subconjunto de Z , y, por lo que acabamos de ver, es C 6= . Por
+
el principio del buen orden de los naturales, C tiene un mnimo elemento, llammosle m, que es mayor que 0.
Entonces existen enteros s y t tales que sa + tb = m. Mostremos que m = g , con lo que quedar probada la
armacin del teorema. Como g es un divisor comn de a y b, g divide a cualquier combinacin lineal de a y de
b (proposicin 2.26), en particular a m, por lo que g m (proposicin 2.9).
Para ver que m g , primero veamos que m | a. Por el teorema de la divisin, existen enteros c y r tales
que a = cm + r con 0 r < m. Por lo tanto, r = a cm = a c (sa + tb) = a (1 cs) + b (ct). Entonces r es
+
una combinacin lineal no negativa a coecientes enteros de a y de b. Si fuese r > 0, tendramos que r C ,
+
y entonces sera r m (pues m es el mnimo en C ), contradiciendo que es r < m. Luego, debe ser r = 0, y
entonces m | a. Anlogamente se demuestra que m | b. Como m es un factor comn de a y b, es m g . Y ya
tenamos que g m, as que es m = g . 
Por el momento, dejamos al lector la inquietud de si el par de enteros (s, t) del teorema anterior es nico.
Volveremos ms adelante sobre eso.
De la demostracin del teorema 3.10, surge la siguiente caracterizacin del mcd (a, b):
Corolario 3.11. Sean a y b enteros no simultneamente nulos. El mcd (a, b) es la menor de las combina-
ciones lineales positivas a coecientes enteros de a y b. Es decir,
mcd (a, b) = mn {xa + yb : x, y Z xa + yb > 0}
De lo anterior, se desprende un hecho de mucha utilidad.

Observacin 3.12. Si un nmero positivo n es combinacin lineal a coecientes enteros de los enteros a y
b, entonces n mcd(a, b).
Si por un momento regresamos al ejemplo 3.5, y observamos la lista de factores comunes de 84 y 60, veremos
que cada uno de ellos es a su vez un factor de mcd (84, 60). Esta situacin ocurre siempre: mcd (a, b) es mltiplo
de cualquier factor comn de a y b. Y esa propiedad es otra manera de caracterizar al mximo comn divisor.

Teorema 3.13. Sean a y b enteros no ambos nulos, y sea d un entero. Se tiene que d = mcd (a, b) si, y
slo si, d es un divisor comn positivo de a y de b que es divisible por todos los divisores comunes de a y b.
40 3. MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO

Demostracin. Para la ida, supongamos que d = mcd (a, b). Entonces d es positivo y divide a a y a b.
Sea k un divisor comn de a y de b. k divide a cualquier combinacin lineal a coecientes enteros de
Entonces,
a y de b (proposicin 2.26), en particular a mcd (a, b) (teorema 3.10).
Ahora, supongamos que d es un divisor comn positivo de a y de b que es divisible por todos los divisores
comunes de a y b. En particular, es divisible por mcd (a, b), por lo que mcd (a, b) d (proposicin 2.9). Pero
como d es factor comn de a y b, es d mcd (a, b). Luego, d = mcd (a, b). 

Teorema 3.14. Sean a y b enteros no ambos nulos, y sea d un nmero natural. Se tiene que mcd (a, b) = d
si, y slo si, existen enteros c1 y c2 coprimos tales que a = c1 d y b = c2 d.
Demostracin. Primero supongamos que mcd (a, b) = d. Entonces, d | a y d | b, por lo que existen
c1 , c2 Z tales que a = c1 d y b = c2 d. Sea t un factor comn positivo de c1 y c2 . Existen c01 , c02 Z tales que
c1 = c01 t y c2 = c02 t, por lo que a = c01 (td) y b = c02 (td). O sea que td es un divisor comn de a y de b, por lo que
debe ser td mcd (a, b), vale decir, td d. Entonces debe ser t = 1, es decir, el nico factor positivo en comn
que tienen c1 y c2 es 1. Por lo tanto, mcd (c1 , c2 ) = 1.
Ahora vamos por la recproca: supongamos que existen enteros coprimos c1 y c2 tales que a = c1 d y b = c2 d.
Queremos mostrar que d = mcd (a, b). Por ser c1 y c2 coprimos, la Identidad de Bezout nos dice que existen
enteros s, t tales que sc1 +tc2 = 1. Multiplicando miembro a miembro por d y considerando que c1 d = a, c2 d = b,
tenemos que sa + tb = d. Por la observacin 3.12 resulta d mcd(a, b), y como d es factor comn de a y b, es
d mcd(a, b). En consecuencia, d = mcd(a, b). 

1.2.1. El algoritmo extendido de Euclides. Dados enteros a y b no ambos nulos, el teorema 3.10 asegura la
existencia de enteros s y t tales que sa+tb = mcd (a, b), pero no da indicios de cmo calcular tales nmeros s y t.
Si a y b son nmeros chicos, un simple tanteo puede proporcionarlos fcilmente, pero si alguno de ellos es grande
la cosa se complica. Resulta que existe un algoritmo que recibe los enteros a y b, y que termina contestando
una terna de enteros (s, t, g) en donde g = mcd (a, b), y adems sa + tb = g . Es decir, entrega de una sola vez
el mximo comn divisor de a y b y una pareja de enteros que muestran que mcd (a, b) es combinacin lineal
a coecientes enteros de a y b. Con toda justicia, el algoritmo se llama algoritmo extendido de Euclides,
pues hace un poco ms que lo que hace el algoritmo de Euclides, pero a la manera del algoritmo de Euclides:
por divisiones sucesivas.
Los lineamientos del diseo del algoritmo extendido son los siguientes:
|a|
Si b = 0, entonces mcd (a, b) = |a|. Por eso, alcanza con tomar s= a (es un entero que vale 1 1) y
t = 0, pues, en ese caso,
|a|
a + 0 b = |a| = mcd (a, b)
sa + tb =
a
 
|a|
Entonces, en este caso, el algoritmo debe contestar la terna
a , 0, |a| .
Si b 6= 0, podemos pensar en la divisin entre a y b. Digamos que el cociente es c y el resto r . Es decir,
a = bc + r con 0 r < |b|. Sabemos que mcd (a, b) = mcd (b, r). Por lo tanto, si tuvisemos un par de
0 0 0 0 0 0
enteros (s , t ) tales que s b + t r = mcd (b, r), tendramos que s b + t r = mcd (a, b). Pero r = a bc, por
0 0 0 0 0
lo que, sustituyendo, nos queda que s b + t (a bc) = mcd (a, b), es decir, s b + t a t bc = mcd (a, b).
0 0 0 0
Acomodando esta expresin, resulta que t a + (s t c) b = mcd (a, b). Es decir, tomando s = t y
0 0 0 0
t = s t c (en donde c y r son cociente y resto de a dividido b, y s y t son los coecientes que
muestran que mcd (b, r) es combinacin lineal de b y r ), tenemos los enteros s y t que buscamos: los que
cumplen sa + tb = mcd (a, b). O sea que el problema de encontrar enteros para a y b pasa por encontrar
enteros para b y r : indicio de una llamada recursiva.

Entonces se resuelve, por recursividad, el problema de encontrar s y t para que sa + tb = mcd (a, b), resol-
viendo el mismo problema pero con argumentos ms chicos, pues el par (b, r) es menor (en segunda componente)
que el par (a, b). En las sucesivas llamadas recursivas que hagamos a la funcin que ejecuta la tarea, el segundo
argumento va decreciendo, hasta que tarde o temprano llega a ser 0, que es un caso de salida garantizada.
En denitiva, el algoritmo extendido de Euclides, escrito en notacin algortmica, es as:

euclext(a, b) =  
|a|
si (b = 0) contestar a , 0, |a|
sino
sea (c, r) = crent(a, b)
sea (s0 , t0 , g) = euclext(b, r)
contestar (t0 , s0 t0 c, g)

Ejemplo 3.15. Encontrar s y t tales que s 1.956 + t 328 = mcd (1.956, 328).
Invocaremos, para la tarea encomendada, euclext(1.956, 328).
1. MXIMO COMN DIVISOR 41

1. Para evaluar euclext(1.956, 328) hacemos a = 1.956 y b = 328. Como b no es 0, hacemos el clculo
intermedio (c, r) = cr(1.956, 328) = (5, 316) (obviaremos los detalles de la invocacin a cr). Ahora
invocamos euclext (328, 316), por lo que quedamos en suspenso hasta tener ese resultado. Cuando eso
pase, debemos tener presente que, a esta altura, c vale 5.
2. Para evaluar euclext (328, 316) hacemos a = 328 y b = 316. Como b no es 0, hacemos el clculo
intermedio (c, r) = cr (328, 316) = (1, 12). Ahora invocamos euclext (316, 12), por lo que quedamos en
suspenso hasta tener ese resultado. Cuando eso pase, debemos tener presente que, a esta altura, c vale
1.
3. Para evaluar euclext (316, 12) hacemos a = 316 y b = 12. Como b no es 0, hacemos el clculo intermedio
(c, r) = cr (316, 12) = (26, 4). Ahora invocamos euclext (12, 4), por lo que quedamos en suspenso hasta
tener ese resultado. Cuando eso pase, debemos tener presente que, a esta altura, c vale 26.
4. Para evaluar euclext (12, 4) hacemos a = 12 y b = 4. Como b no es 0, hacemos el clculo intermedio
(c, r) = cr (12, 4) = (3, 0). Ahora hacemos (s0 , t0 , g) = euclext (4, 0), por lo que quedamos en suspenso
hasta tener ese resultado. Cuando eso pase, debemos tener presente que, a esta altura, c vale 3.
5. Para evaluar euclext (4, 0) hacemos a = 4 y b = 0. No hay que hacer ningn clculo intermedio, pues el
segundo argumento es 0. Por lo tanto, euclext (4, 0) = (1, 0, 4).
0 0
6. Volviendo al paso 4, result ser (s , t , g) = (1, 0, 4). Por lo tanto, euclext (12, 4) = (0, 1, 4) (recordar que
0 0
en ese paso era c = 3, y entonces s t c = 1 0 3 = 1).
0 0
7. Volviendo al paso 3, result ser (s , t , g) = (0, 1, 4). Por lo tanto, euclext (316, 12) = (1, 26, 4) (recordar
0 0
que en ese paso era c = 26, y entonces s t c = 0 1 26 = 26).
0 0
8. Volviendo al paso 2, result ser (s , t , g) = (1, 26, 4). Por lo tanto, euclext (328, 316) = (26, 27, 4)
0 0
(recordar que en ese paso era c = 1, y entonces s t c = 1 (26) 1 = 27).
0 0
9. Volviendo al paso 1, result ser (s , t , g) = (26, 27, 4). Por lo tanto, euclext(1.956, 328) = (27, 161, 4)
0 0
(recordar que en ese paso era c = 5, y entonces s t c = 26 27 5 = 161).

En sntesis, euclext(1.956, 328) = (27, 161, 4). Del ejemplo 3.8, sabemos que mcd(1.956, 328) = 4, o sea
que la tercera componente de la terna est bien. Veamos las otras dos componentes:

27 1.956 + (161) 328 = 52.812 52.808 = 4 = mcd (1.956, 328)


O sea que se verica lo deseado. Por lo tanto, podemos tomar s = 27 y t = 161. 
El proceso de ms arriba para encontrar s y t puede ser mecanizado de la siguiente forma:
1. Si b 6= 0, escribir la ecuacin de la divisin entre a y b. Digamos que el cociente es c1 y el resto r1 .
2. Si r1 6= 0, escribir la ecuacin de la divisin entre b y r1 . Digamos que el cociente es c2 y el resto r2 .
3. Si r2 6= 0, escribir la ecuacin de la divisin entre r1 y r2 . Digamos que el cociente es c3 y el resto r3 .
4. Si r3 6= 0, escribir la ecuacin de la divisin entre r2 y r3 . Digamos que el cociente es c4 y el resto r4 .

Y continuar de esta forma, obteniendo en cada paso, ck y rk , hasta que lleguemos a una instancia en que
obtengamos un cn y rn con rn = 0. Esto nalmente va a ocurrir, pues la sucesin de restos es estrictamente
decreciente, y en algn paso debemos llegar a tener resto 0. Entonces rn1 (el ltimo resto no nulo del proceso)
es precisamente mcd (a, b). Los enteros s y t se obtienen eliminando r1 , r2 , . . ., rn1 del conjunto de ecuaciones
de divisin que hemos escrito.

Ejemplo 3.16. Aplicar el procedimiento de ms arriba para encontrar s y t tales que s 1.956 + t 328 =
mcd (1.956, 328).
Hacemos primero las divisiones sucesivas hasta llegar a tener resto nulo:

1.956 = 328 5 + 316


328 = 316 1 + 12
316 = 12 26 + 4
12 = 43
El ltimo resto no nulo encontrado es 4, por lo que mcd (1.956, 328) = 4. De la penltima ecuacin, 4 =
316 12 26. Pero, de la segunda, es 12 = 328 316 1, por lo que 4 = 316 (328 316 1) 26, es decir,
4 = 316 27 328 26. Y, de la primera ecuacin, 316 = 1.956 328 5, as que 4 = (1.956 328 5) 27 328 26.
Por lo tanto, 27 1.956 + (5 27 26) 328 = 4, es decir, 27 1.956 + (161) 328 = 4. Entonces podemos tomar
s = 27 y t = 161. 
1.3. Otro algoritmo para M.C.D. Obtendremos ahora otro mtodo para calcular mcd(a, b), conside-
rando la paridad de los argumentos a y b. Veamos primero un resultado que nos ayudar a calcular mximo
comn divisor de dos nmeros que tienen un factor comn.

Teorema 3.17. Sean a y b dos enteros no ambos nulos, y sea m un entero positivo. Entonces,
mcd (m a, m b) = m mcd (a, b)
42 3. MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO

Demostracin. Llamemos D = mcd(m a, m b) y d = mcd(a, b). Por la Identidad de Bezout, existen


enteros s, t tales que sa + tb = d, as que multiplicando miembro a miembro por m tenemos que s(ma) + t(mb) =
md. Como m y d son enteros positivos, por la observacin 3.12 se cumple que md D. Adems, como d | a y
d | b, tenemos que md | ma y md | mb, es decir, md es factor comn de ma y mb, as que md D. Por lo tanto,
md = D, que es lo que desebamos demostrar. 

Con esto, y viendo el ejemplo 3.8, podemos decir que mcd (7.824, 1.312) = 16, pues 7.824 = 4 1.956 y
1.312 = 4328; como ya tenamos que mcd(1.956, 328) = 4, resulta mcd (7.824, 1.312) = mcd (4 1.956, 4 328) =
4 mcd (1.956, 328) = 4 4 = 16.
Corolario 3.18. Si d es un factor comn positivo de a y b, entonces
 
a b 1
mcd , = mcd (a, b)
d d d
Demostracin. Como d es factor comn positivo de a y b, existen enteros  c1 y c2 tales que a = c1 d y
1
b = c2 d . Luego,
d mcd (a, b) = d1 mcd (c1 d, c2 d) = d1 d mcd (c1 , c2 ) = mcd ad , db . 

Corolario 3.19. Sean a y b enteros no ambos nulos. Entonces, los nmeros a


mcd(a,b) y b
mcd(a,b) son copri-
mos.
Demostracin. mcd (a, b) es un factor comn positivo de a y b, por lo que, por corolario 3.18, se tiene
que
 
a b 1
mcd , = mcd (a, b) = 1
mcd (a, b) mcd (a, b) mcd (a, b)


Ntese que el corolario anterior se puede deducir tambin del teorema 3.13.

Teorema 3.20. Sean a, b y m enteros con m 6= 0. Si m | ab y m es coprimo con b, entonces m | a.


Demostracin. m | am, y por hiptesis m | ab. Entonces, m es un divisor comn de am y ab, por lo que,
por teorema 3.13, m | mcd (am, ab). Pero del teorema 3.17, sabemos que mcd (am, ab) = |a| mcd (m, b) = |a|,
pues, por hiptesis, mcd (b, m) = 1. Por lo tanto, m | a. 

Teorema 3.21. Sean a y b enteros no ambos nulos. Sea m un entero coprimo con a y tambin coprimo
con b. Entonces, m es tambin coprimo con ab.
Demostracin. Del teorema 3.10, existen enteros s1 , t1 , s2 , t2 tales que s1 a + t1 m = 1 y s2 b + t2 m = 1.
Multiplicando miembro a miembro estas dos igualdades, queda que

(s1 s2 )ab + (s1 at2 + t1 s2 b + t1 t2 m)m = 1


mostrando que 1 es una combinacin lineal positiva a coecientes enteros de ab y m. Como mcd (ab, m) es la
menor combinacin lineal positiva a coecientes enteros de ab y m (corolario 3.11), se sigue que mcd (ab, m) =
1. 

Teorema 3.22. Sean a y b enteros no ambos nulos. Sea m un entero coprimo con b. Entonces, mcd (am, b) =
mcd (a, b).
Demostracin. Sean g = mcd (a, b) y G = mcd(am, b). Como g|a y g | b, se tiene que g | am y g | b, de
donde g G.
Tenemos tambin que G | am y G | b. Debe ser G coprimo con m (pues sea t un factor positivo de G y m;
como G | b, debe ser t | b y t | m; siendo m y b coprimos, debe ser t = 1). Por teorema 3.20, se tiene entonces
que G | a, y por lo tanto G es factor comn de a y b. Por ello, G g .
En consecuencia, G = g , es decir, mcd(am, b) = mcd(a, b). 

Los teoremas 3.17 y 3.22, junto con el corolario 3.9, permiten disear un nuevo algoritmo para encontrar
mcd (a, b) de acuerdo a los siguientes lineamientos:

Si alguno de los dos es 0, el mximo comn divisor es el mdulo del otro nmero.
a b

Si tanto a como b son pares, aplicamos el teorema 3.17 con m = 2: mcd (a, b) = 2 mcd 2 , 2 , sin
peligro alguno pues a/2 y b/2 son enteros.
Sia es par y b impar, aplicamos el teorema 3.22 con m = 2. Entonces, en este caso, es mcd  (a, b) =
a
mcd (a, b) = mcd a, 2b

mcd 2 , b . Si fuese a impar y b par, por la misma razn tenemos que
1. MXIMO COMN DIVISOR 43

Si ambos son impares, y a b, aplicamos el corolario 3.9 (caso k = 1), resultando que mcd (a, b) =
mcd (a b, b); pero adems b es impar y a b par, por lo que, por el tem anterior, resulta mcd (a, b) =
mcd ab
2 , b . Observemos
 que si por ejemplo a = 1 y b = 1, esto nos conduce a que mcd (1, 1) =
1(1)
mcd 2 , 1 = mcd (1, 1), es decir, a una circularidad que sera muy peligrosa en un algoritmo

recursivo. Para salvarla, podemos poner como segunda componente no a b sino a |b|, sin cambiar el
mcd (a, b) = mcd ab

valor del M.C.D. Entonces,
2 , |b| en el caso en que a y b sean ambos impares.
ba

Anlogamente, cuando a y b son impares con b > a, se tiene que mcd (a, b) = mcd |a| , .
2
Como vemos, el procedimiento consiste en ir sacando factores 2. Por eso, al correspondiente algoritmo lo
podemos llamar mcd2 (a, b). Su especicacin en la notacin funcional es la siguiente:

mcd2(a, b) =
si (a = 0) contestar |b|
sino
si (b = 0) contestar |a|
sino
si (a es par)
si (b es par) contestar 2 mcd2 a b

2, 2
a
sino contestar mcd2 2 , b
sino
mcd2 a, 2b

si (b es par) contestar
sino
(a b) contestar mcd2 ab

si 2  , |b|
sino contestar mcd2 |a| , ba
2

Ejemplo 3.23. Calcular mcd (84, 60) por aplicacin del algoritmo mcd2.
mcd2 (84, 60) = 2 mcd2 (42, 30) = 2 (2 mcd2 (21, 15)) = 4 mcd2 (3, 15) = 4 mcd2 (3, 6) = 4 mcd2 (3, 3) =
4 mcd2 (0, 3) = 4 3 = 12.
Luego, mcd (84, 60) = 12. 
Una cuestin interesante es la de comparar eciencias de los dos algoritmos rpidos que tenemos para
calcular mcd (a, b): el de Euclides (que hemos llamado mcdeucl (a, b)) y este ltimo, mcd2 (a, b). Para eso, se
puede programar una computadora con ambos algoritmos, y luego invocar a cada uno de ellos muchas veces, con
distintos valores de a y de b seleccionados al azar por la mquina, midiendo el tiempo que tarda cada algoritmo
en ejecutarse. Se han hecho pruebas de programacin en el lenguaje C++, implementando ambos algoritmos
exactamente de la forma en que aqu estn expresados. Se ha comprobado que un milln de ejecuciones del
algoritmo mcdeucl requiri un tiempo total de 9,1 seg., mientras que idntica cantidad de invocaciones a mcd2
demand 9,5 seg., resultando entonces que el algoritmo de Euclides es un 4 % ms rpido que el otro. Ambos
son extraordinariamente ms rpidos que el algoritmo de bsqueda de factores comunes dado por la denicin.

1.4. Mximo comn divisor de un conjunto de nmeros. Hasta ahora hemos considerado la bs-
queda del M.C.D. de dos nmeros. Podemos extender esta idea para el caso en que tengamos ms de dos
nmeros.

Definicin 3.24. Sean a1 , . . . , an nmeros enteros no todos nulos. El entero d es un divisor comn de
a1 , . . . , an sid | a1 . . . d | an , es decir, si k {1, . . . , n} , d | ak . El mximo comn divisor de a1 , . . . , an ,
denotado mcd (a1 , . . . , an ), es el mayor de los divisores comunes de a1 , . . . , an .
Ntese que mcd (a1 , . . . , an ) es siempre un entero positivo.

Definicin 3.25. Los enteros a1 , . . . , a n se dicen coprimos si mcd (a1 , . . . , an ) = 1. Los enteros a1 , . . . , an
se dicen coprimos de a pares si para todos i 6= j , mcd (ai , aj ) = 1.
Ntese que los enteros a1 , . . . , an pueden ser coprimos sin ser coprimos de a pares. Por ejemplo, para los
enteros 3, 5, 6, se tiene que mcd (3, 5, 6) = 1 pero mcd (3, 6) 6= 1. Lo que s ocurre siempre es que coprimidad de
a pares implica coprimidad.

Proposicin 3.26. Si a1 , . . . , an son coprimos de a pares, entonces son coprimos.


Demostracin. Demostraremos por el mtodo indirecto. Supongamos que a1 , . . . , an no son coprimos.
Entonces a1 y an tienen un factor comn mayor que 1, por lo que mcd (a1 , an ) 6= 1. Entonces, a1 , . . . , an no son
coprimos de a pares. 
Los siguientes resultados son generalizaciones directas de los correspondientes resultados para M.C.D. de
dos enteros, siendo su demostracin completamente anloga y sin complicaciones por el paso de dos enteros a
n enteros.
44 3. MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO

Teorema 3.27. Sean a1 , . . . , an enteros no todos nulos. Existen enteros x1 , . . . , xn tales que x1 a1 + +
xn an = mcd (a1 , . . . , an ).
Corolario 3.28. Sean a1 , . . . , an enteros no todos nulos. El mcd (a1 , . . . , an ) es la menor de las combina-
ciones lineales positivas a coecientes enteros de a1 , . . . , an .
Teorema 3.29. Sean a1 , . . . , an enteros no todos nulos, y sea d un entero. Se tiene que d = mcd (a1 , . . . , an )
si, y slo si, d es un divisor comn positivo de a1 , . . . , an que es divisible por todos los divisores comunes de
a1 , . . . , an .
Para el clculo de mcd (a1 , . . . , an ), podemos prescindir de los elementos nulos de la lista: el conjunto de
divisores de 0 es Z {0}, que contiene al conjunto de divisores de los elementos no nulos; por lo tanto, la
interseccin de todos los conjuntos de divisores es igual a la interseccin de los conjuntos de divisores de los
elementos distintos de 0. Por eso, a los nes prcticos, podemos hacer de cuenta que todos los nmeros que hay
en la lista son distintos de 0.
La bsqueda de mcd (a1 , . . . , an ) puede hacerse aplicando reiteradas veces el algoritmo para calcular el
mximo comn divisor de dos nmeros, segn se muestra a continuacin.

Teorema 3.30. Sean a1 , . . . , an enteros no nulos. Hagamos D1 = a1 , y, para k {2, . . . , n}, llamemos
Dk = mcd (a1 , . . . , ak ). Entonces, para cualquier k 2, es Dk = mcd (Dk1 , ak ).
Demostracin. Si k = 2, D2 = mcd (a1 , a2 ) = mcd (D1 , a2 ) y entonces la proposicin se cumple. Si k > 2,
queremos ver que Dk = mcd (Dk1 , ak ). Observando que mcd (Dk1 , ak ) es un divisor comn de Dk1 y de ak ,
y dado que Dk1 | ai para cualquier i {1, . . . , k 1}, tenemos que mcd (Dk1 , ak ) | ai para cualquier i
{1, . . . , k}, por lo que mcd (Dk1 , ak ) | Dk (teorema 3.29). Por otro lado, Dk es factor comn de a1 , . . . , ak1 , ak .
En particular, Dk es factor comn de a1 , . . . , ak1 . Por teorema 3.29, Dk | mcd (a1 , . . . , ak1 ), es decir, Dk |
Dk1 . Como tambin Dk | ak , se tiene que Dk | mcd (Dk1 , ak ) (teorema 3.13). Dado que los naturales Dk y
mcd (Dk1 , ak ) son uno factor del otro, se tiene que Dk = mcd (Dk1 , ak ) (proposicin 2.10). 
Como consecuencia del teorema anterior, tenemos un mecanismo para calcular mcd (a1 , a2 , . . . , an ), segn
se muestra en el siguiente ejemplo.

Ejemplo 3.31. Calcular mcd (1.956, 328, 402).


Primero hacemos D1 = 1.956. Luego, calculamos D2 = mcd(D1 , 328) = mcd(1.956, 328) = 4 (ejemplo 3.8).
Finalmente calculamos D3 = mcd(D2 , 402) = mcd(4, 402), que, por aplicacin de cualquier algoritmo (preero
el tanteo en este caso), resulta igual a 2. Entonces, mcd (1.956, 328, 402) = 2. 

2. Mnimo comn mltiplo

En muchas aplicaciones, se tiene una lista a1 , . . . , an de nmeros enteros todos distintos de 0, e interesa
encontrar otro entero que sea mltiplo simultneamente de todos ellos. Por ejemplo, cuando se desea hacer una
suma de nmeros racionales que estn expresados como cocientes de enteros. A los efectos de no sobrecargarnos
con clculos tediosos, siempre tratamos que ese mltiplo en comn sea lo ms pequeo posible. En esta seccin
nos ocuparemos de exponer mtodos para calcularlo, previa denicin formal del mismo. Nos concentraremos
slo en el caso correspondiente a dos enteros.

Definicin 3.32. Dados dos enteros a b ambos no nulos, un mltiplo comn a a y b es cualquier
y
nmero que es divisible simultneamente por a y por b. Es decir, c es mltiplo comn de a y b si a | c y b | c. El
menor de todos los mltiplos comunes positivos de a y b se denomina mnimo comn mltiplo de a y b, y
se denota por mcm (a, b).
Veamos que la denicin tiene sentido: si a 6= 0
b 6= 0, entonces |ab| > 0 y |ab| es divisible por a y por b.
y
Entonces, el conjunto de los mltiplos comunes positivos dea y b es un subconjunto no vaco de N, y entonces,
por el PBO, mcm (a, b) es un nmero bien denido. Obsrvese que 0 es siempre un mltiplo comn de a y
b, pero no cuenta a la hora de calcular el mnimo comn mltiplo de a y b, pues, por denicin, siempre es
mcm (a, b) > 0. Adems, por lo que acabamos de decir, siempre es mcm (a, b) |ab|.
Ejemplo 3.33. Calcular mcm (18, 12).
Podemos empezar observando que los mltiplos positivos de 18 son 18, 36, 54, 72, 90, 108, 126, 144, . . . y que
los de 12 son12, 24, 36, 48, 60, 72, 84, 96, 108, . . . Los mltiplos positivos comunes a ambos son 36, 72, 108, . . ., de
los cuales el menor es 36. Por lo tanto, mcm (18, 12) = 36. 
En el ejemplo hemos empleado un algoritmo poco eciente: el de elaborar la lista de mltiplos de ambos,
hacer la interseccin y ver el elemento mnimo. En mucho, esto se parece a la bsqueda de mcd (a, b) por
elaboracin de listas de factores comunes. Afortunadamente, hay otras maneras, mucho ms ecientes, para
calcular mcm (a, b). Notemos que mcm (a, b) = mcm (|a| , |b|) (proposicin 2.23), as que alcanza con saber
calcular mnimo comn mltiplo de enteros positivos.
2. MNIMO COMN MLTIPLO 45

Una primera cosa que nos puede llamar la atencin de nuestro ejemplo anterior es que todos los mltiplos
comunes de 12 y 18 son divisibles por mcm (18, 12). Demostraremos ahora que eso es cierto en general.

Teorema 3.34. Sean a y b enteros no nulos, y sea h un entero. Se tiene que h = mcm (a, b) si, y slo si,
h es un mltiplo comn positivo de a y b que es un factor de cualquier mltiplo comn de a y b.

Demostracin. Para la ida: Por denicin, h es un mltiplo comn positivo de a y b, por lo que existen
t1 , t2 Z tales que h = t1 a y h = t2 b. Sea m un mltiplo comn de a y b, por lo que existen n1 , n2 Z tales que
m = n1 a y m = n2 b. Sean c y r el cociente y resto de dividir m por h. Entonces, tenemos que m = ch + r con
0 r < h. Reemplazando a m y h en esta ecuacin en trminos de a, tenemos que n1 a = ct1 a + r, por lo que
r = (n1 ct1 ) a es decir, a | r. Anlogamente, n2 b = ct2 b + r, por lo que r = (n2 ct2 ) b es decir, b | r. Luego, r
es un mltiplo comn de a y b. Sabemos que h > r 0. No puede ser r > 0, pues en ese caso sera un mltiplo
comn positivo de a y b menor que mcm (a, b), contradiciendo la denicin de mnimo comn mltiplo. Por lo
tanto, es r = 0, y entonces m = ch, es decir, m es un mltiplo de mcm (a, b).
Para la vuelta: Como h es mltiplo comn positivo de a y b, se tiene que h mcm (a, b). Como mcm (a, b)
es mltiplo comn de a y b, h | mcm (a, b). Dado que h y mcm (a, b) son ambos positivos, es h mcm (a, b)
(proposicin 2.9). Luego, h = mcm (a, b). 

Teorema 3.35. Sean a y b enteros no nulos, y sea m un entero positivo. Se tiene que mcm (m a, m b) =
m mcm (a, b).

Demostracin. Hagamos h = mcm (ma, mb) y h0 = mcm (a, b). Como h es mltiplo de ma, es mltiplo
+
de m, por lo que existe n1 Z tal que h = n1 m. Ms an, como m y h son ambos positivos, debe ser n1 Z .
0 0 0 0 0
Como a | h y b | h , tenemos que am | h m y que bm | h m, es decir, h m es mltiplo comn de am y bm.
0 0 0
Entonces, por teorema 3.34, h | h m, es decir, n1 m | h m, de donde se ve que n1 | h . Por otra parte, am | h
y bm | h, es decir, am | n1 m y bm | n1 m, por lo que a | n1 y b | n1 ; entonces, de nuevo por el teorema 3.34,
h0 | n1 . Ya que n1 | h0 y h0 | n1 , siendo ambos enteros positivos, tenemos que n1 = h0 (proposicin 2.10). Por lo
0
tanto, h = h m, es decir, mcm (m a, m b) = m mcm (a, b). 

2.1. Obtencin del M.C.M. a partir del M.C.D. Los siguientes resultados proporcionan una manera
eciente de calcular mcm (a, b) (siempre que sepamos calcular ecientemente mcd (a, b)).

Lema 3.36. Sean a y b enteros no nulos coprimos. Entonces, mcm (a, b) = |ab|.
Demostracin. Hagamos h = mcm (a, b), recordando que es h > 0. Como h es mltiplo de a, tambin es
mltiplo de |a|, m N tal que h = m |a|. Entonces, como b | h, tenemos que b divide a m |a|.
por lo que existe
Pero puesto que por hiptesis b es coprimo con a, debe ser que b | m (teorema 3.20). Por lo tanto, es |b| m, y
entonces |ab| |a| m = h. Es decir, |ab| mcm (a, b). Pero tambin sabemos que siempre es mcm (a, b) |ab|,
pues |ab| es un mltiplo comn de a y b. Por lo tanto, mcm (a, b) = |ab|. 

Teorema 3.37. Sean a y b enteros no nulos. Se tiene que


|ab|
mcm (a, b) =
mcd (a, b)
Demostracin. Sea g = mcd (a, b). Del corolario 3.19, tenemos que mcd (a/g, b/g) = 1. Por lo tanto, por
el lema 3.36, es
 
a b a b |ab|
mcm , = =
g g g g g2
Esto equivale a que
 
a b |ab|
g mcm , =
g g g
Pero, por el teorema 3.35, es
   
a b a b
g mcm , = mcm g , g = mcm (a, b)
g g g g
Por lo tanto,

|ab|
mcm (a, b) =
mcd (a, b)

46 3. MXIMO COMN DIVISOR. MNIMO COMN MLTIPLO

3. Ecuaciones diofantinas lineales

Ecuaciones del estilo ax + by = c en las variables reales x e y nos son completamente familiares, y lo
primero que se nos viene a la mente cuando vemos una ecuacin as es una lnea recta en un plano cartesiano.
Incluso en el caso en que a, b y c sean nmeros enteros. Pero ahora podemos preguntarnos: Tiene soluciones
para x e y enteros? Por supuesto que la pregunta atae no slo a las ecuaciones lineales, sino tambin a otras
ms generales (y tal vez con ms variables). En resumen, dada una ecuacin a coecientes enteros, bajo qu
condiciones admite soluciones enteras para las variables intervinientes? Parece ser que uno de los primeros en
interesarse en estas cuestiones fue el griego Diofanto, y, en su honor, se llam ecuaciones diofantinas a aquellas
con coecientes enteros y en las que se buscan soluciones enteras para las variables. Desde entonces y hasta
nuestros das, mucho es lo que se ha investigado sobre ellas, pues surgen naturalmente en diferentes contextos.
Las ms sencillas de tales ecuaciones son las ecuaciones diofantinas lineales, que tienen la forma ax + by = c
con a, b, c Z. Tales ecuaciones han sido completamente entendidas, y, en su resolucin, es de suma importancia
conocer el mximo comn divisor de a y de b, y su relacin con el entero c. El caso en que a = 0 = b es
2
completamente trivial: si c 6= 0, la ecuacin no admite solucin, y si c = 0 el conjunto solucin es Z . As que
slo nos dedicaremos a estudiar el caso en que a y b no son simultneamente nulos.
Ante todo, observemos que, cuando nos preguntbamos por la existencia de enteros s y t tales que sa + tb =
mcd (a, b), para a y b dados, estbamos resolviendo una ecuacin diofantina lineal. As que algo de experiencia
2
tenemos ya al respecto: sabemos que una ecuacin diofantina lineal admite solucin en Z en el caso en que el
trmino independiente c es precisamente mcd (a, b). Este punto de partida nos permite deducir una condicin
2
necesaria y suciente para que una ecuacin diofantina lineal cualquiera admita solucin en Z .

Teorema 3.38. Sean a, b y c enteros tales que a y b no son ambos nulos. La ecuacin diofantina lineal
ax + by = c tiene solucin para x e y enteros si, y slo si, c es mltiplo de mcd (a, b).
Demostracin. Para la ida, supongamos que existen enteros x0 e y0 tales que ax0 + by0 = c. Dado que
mcd (a, b) a y de b, por proposicin 2.26, se tiene que mcd (a, b) es factor de ax0 + by0 , es decir,
es factor de
mcd (a, b) es divisor de c. Esto equivale a decir que c es mltiplo de mcd (a, b).
Para la vuelta: supongamos que c es mltiplo de mcd (a, b), es decir, existe k Z tal que c = k mcd (a, b).
Por el teorema 3.10, existen enteros s y t tales que sa + tb = mcd (a, b). Multiplicando miembro a miembro por
k , tenemos que (ks) a + (kt) b = k mcd (a, b). Por lo tanto, tomando x0 = ks e y0 = kt, tenemos demostrado que
2
existen enteros x0 , y0 tales que ax0 + by0 = c, es decir, la ecuacin diofantina lineal admite solucin en Z . 

Antes de ver ejemplos, discutamos sobre la cantidad de soluciones que tiene una ecuacin lineal diofantina
ax + by = c cuando admite al menos un par (x0 , y0 ) Z2 como solucin. Designemos g = mcd (a, b). Sea (x, y)
Z2 cualquier solucin de la ecuacin. Se tiene que ax0 + by0 = c = ax + by . Por lo tanto, a (x x0 ) = b (y0 y),
y, entonces,

a b
(*) (x x0 ) = (y0 y)
g g
Si a = 0, g = b, y la igualdad se satisface con x cualquier entero e y = y0 . Entonces, el conjunto
es
solucin es {(k, y0 ) : k Z}.
Si b = 0, es g = a, y la igualdad se satisface con y cualquier entero y x = x0 . Entonces, el conjunto
solucin es {(x0 , k) : k Z}.
Si a 6= 0 y b 6= 0: ya que a/g y b/g no tienen factores comunes (corolario 3.19), se tiene que a/g debe
dividir a y0 y y que b/g debe dividir a x x0 (teorema 3.20). Es decir, deben existir enteros m y n
tales que y0 y = ma/g y x x0 = nb/g . Reemplazando en la ecuacin (*), tenemos que

a b b a
n = m
g g g g
de donde, para que se cumpla la igualdad, debe ser m = n (pues tanto ab como g son distintos de 0, y
entonces pueden cancelarse). Por lo tanto, en este caso, todas las soluciones de la ecuacin diofantina lineal
tienen la forma
 
b a
(x, y) = x0 + n , y0 n
g g
en donde n es un entero cualquiera (observar que esta frmula engloba tambin las soluciones que obtuvimos
para los casos a = 0 o b = 0). Adems, es fcil vericar que cualquier par de esa forma es solucin de la ecuacin,
porque
   
b a b a
a x0 + n + b y0 n = ax0 + an + by0 bn = ax0 + by0 = c
g g g g
Tenemos entonces demostrado el siguiente resultado.
3. ECUACIONES DIOFANTINAS LINEALES 47

Teorema 3.39. Sean a y b enteros no ambos nulos, y supongamos que la ecuacin diofantina lineal ax+by =
c admite solucin (x0 , y0 ) Z2 . Entonces, el conjunto de todas las soluciones en Z2 de la ecuacin es el conjunto
  
b a
x0 + n , y0 n :nZ
mcd (a, b) mcd (a, b)
Ejemplo 3.40. Encontrar todas las soluciones enteras de 1.956x + 328y = 5.
Tomamos a= 1.956 y b = 328. Del ejemplo 3.8, sabemos que mcd (1.956, 328) = 4, que no es factor de 5.
Luego, la ecuacin no tiene solucin para x e y enteros. 
Ejemplo 3.41. Encontrar todas las soluciones enteras de 1.956x + 328y = 12.
Tomamos a = 1956 y b = 328. Tenemos que mcd(1.956, 328) | 12,
pues 12 = 4 3. Por lo tanto, busquemos
una solucin a la ecuacin. Del ejemplo 3.15, sabemos que los enteros s = 27 y t = 161 satisfacen 27 1.956 +
(161) 328 = 4. Multiplicando miembro a miembro por 3, tenemos que 81 1.956 + (483) 328 = 12, as que
una solucin a la ecuacin es el par (x0 , y0 ) = (81, 483). Para buscar todas las soluciones, observemos que

b 328 a 1.956
mcd(a,b) = 4 = 82 mcd(a,b) = 4 = 489
Por lo tanto, el conjunto de todas las soluciones enteras de la ecuacin es

{(81 + 82n, 483 489n) : n Z}


De ms est decir que si gracamos este conjunto en R2 , los puntos caen sobre la recta y = 1.956
328 x +
12
328 , y
son precisamente todos los puntos de la recta en los que ambas coordenadas son nmeros enteros. 
Ejemplo 3.42. Encontrar todos los enteros s y t tales que 1.956s + 328t = mcd (1.956, 328).
En esta ecuacin diofantina, a= 1.956, b = 328 y c = mcd(1.956, 328). De dos maneras distintas sabemos
que la ecuacin admite solucin: por el teorema 3.10 (que nos condujo a la solucin dada en el ejemplo 3.15), y
por el teorema 3.38 (observando que c es mltiplo de mcd (a, b)). De cualquier modo, una solucin es (x0 , y0 ) =
(27, 161). Al igual que en el ejemplo anterior,

b 328 a 1.956
mcd(a,b) = 4 = 82 mcd(a,b) = 4 = 489
de modo que el conjunto de todos los pares de enteros que verican la ecuacin bajo estudio es

{(27 + 82n, 161 489n) : n Z}



Generalizando el ejemplo anterior, tenemos el siguiente resultado, que responde a un interrogante que
habamos dejado planteado con anterioridad: el de si era nica la pareja de enteros s y t tales que sa + tb =
mcd (a, b).
Teorema 3.43. Sean a y b enteros no ambos nulos. El entero mcd (a, b) puede representarse de innitas
maneras como combinacin lineal de a y de b.
Demostracin. Del teorema 3.10, existen (s0 , t0 )
s0 a + t0 b = mcd (a, b), y del
tales que teorema 3.39, el
conjunto de todos los pares de enteros (s, t) sa + tb = mcd (a, b) es
que satisfacen la ecuacin
  
b a
s0 + n , t0 n :nZ
mcd (a, b) mcd (a, b)
que es un conjunto innito. 
Con la ayuda del teorema 3.27, el teorema 3.38 admite una inmediata generalizacin a las ecuaciones
diofantinas lineales de varias variables.

Teorema 3.44. Sean a1 , . . . , an enteros no todos nulos, y sea c un entero. La ecuacin diofantina lineal
a1 x1 + + an xn = c tiene solucin para x1 , . . . , xn enteros si, y slo si, c es mltiplo de mcd (a1 , . . . , an ).
Captulo 4

EL TEOREMA FUNDAMENTAL DE LA ARITMTICA

En el presente captulo, nos dedicaremos a ver de qu manera los nmeros primos se constituyen en las
unidades fundamentales que permiten descomponer a cualquier nmero en un producto de ellas. Difcilmente
vayamos a sorprender a alguien con el contenido del Teorema Fundamental, que asevera la existencia y unicidad
de tal descomposicin, pues el mismo est tan instalado en nuestra mente, desde hace ya tanto tiempo, que
nos parece la cosa ms obvia y natural del mundo. Sin embargo, ms de uno titubeara si le solicitamos una
demostracin de este hecho. Adems, no debe haber sido tan obvio para los matemticos de hace ms de
doscientos aos (y veremos aqu algo del porqu de la falta de obviedad), pues parece ser que el primero en
formalizar explcitamente una demostracin fue el mismsimo Gauss en su libro Disquisitiones Arithmeticae de
1801 (aunque se acepta que el resultado era ya tildado como verdadero desde mucho antes).
El Teorema Fundamental nos guiar a nuevos criterios de divisibilidad y de bsqueda de mximo comn
divisor y mnimo comn mltiplo. Tambin nos dar pistas sobre cuntos divisores puede tener un nmero,
sobre la posibilidad de resolver en racionales ciertas ecuaciones polinmicas (como por ejemplo saber si la raz
cuadrada de un primo puede ser racional) o, ms generalmente, cules son todas las soluciones en N de ecuaciones
tales como x2 + y 2 = z 2 .

1. Factorizacin de nmeros naturales: existencia y unicidad

Consideremos como universo de trabajo el conjunto de los nmeros naturales. Podemos expresar al nmero
60 como producto de factores de ese universo, vale decir, podemos factorizar a 60 en el universo de los naturales?
Dicho de otro modo, podemos dar una sucesin nita de nmeros naturales tal que multiplicando todos los
nmeros de esa sucesin obtengamos 60? Por supuesto que s, y no slo una, sino varias de tales sucesiones, en
las que varan tanto el nmero de factores intervinientes como el valor de los mismos. Por ejemplo:

{4, 15} {15, 4} {20, 3} { 20, 3, 1, 1}


{3, 4, 5} { 5, 1, 4, 3} { 1, 60} {60}
Y hay varias ms. Algunas de ellas son muy parecidas entre s; otras constan de un nico trmino.

Definicin 4.1. Sea m un nmero natural, y sea {p1 , p2 , . . . , pn } una sucesin nita de nmeros naturales
(no necesariamente todos distintos) tal que m = p1 p2 pn . Decimos entonces que la sucesin {p1 , p2 , . . . , pn }
es una factorizacin de m.
O sea que una factorizacin de m no es ms que una lista de nmeros tales que, multiplicados entre s,
producen m. Convendremos que multiplicar elementos de una lista unitaria produce como resultado el nico
trmino de la lista.
Representaremos a las factorizaciones de nmeros directamente sin comas que separen elementos; eventual-
mente usaremos el signo de multiplicacin (). Por ejemplo, 2 30 es una factorizacin de 60.
Ntese que 4 15 y 15 4, si bien contienen los mismos factores, corresponden a disposiciones en diferente
orden de los mismos; como sucesiones, {4, 15} y {15, 4} son distintas. Sin embargo, si nos independizamos del
orden de los factores, ambas representan la misma manera de factorizar al 60.
Definicin 4.2. Decimos que dos factorizaciones de un mismo nmero son la misma factorizacin
(excepto por el orden de los factores) si una de ellas es una conmutacin de los factores de la otra. En
caso contrario, las factorizaciones se dicen distintas.

Dada una factorizacin {q1 , q2 , . . . , qn }, es posible siempre ordenar sus trminos en orden creciente, es decir,
permutar sus trminos de modo que resulte una sucesin {p1 , p2 , . . . , pn } con p1 p2 pn (obsrvese
que no pedimos estrictamente creciente, pues algunos factores pueden ser iguales). Dos factorizaciones son la
misma si, y slo si, ordenando respectivamente sus trminos en orden creciente, producen la misma sucesin.
Dos factorizaciones son distintas cuando la funcin identidad no establece una correspondencia biyectiva entre
los trminos de cada una; puestas respectivamente en orden creciente, no producen la misma sucesin, ya sea
porque dieren en longitud o en alguno de los trminos.
Podemos expresar al nmero 60 como producto de factores primos ? De todas las descomposiciones que
hicimos ms arriba, la que ms se aproxima a so es 60 = 3 4 5, a la que lo nico que le falla es que 4 no es
primo. Pero no hay problema: 4 = 2 2, as que 60 = 3 2 2 5. Pudimos. Es decir, 60 es el producto de los
49
50 4. EL TEOREMA FUNDAMENTAL DE LA ARITMTICA

nmeros primos que componen la sucesin nita {3, 2, 2, 5}. Otra descomposicin en primos para 60 es 2 5 3 2,
que es la misma que 3 2 2 5 excepto por el orden de los factores (si ordenamos ambas listas en orden creciente,
llegamos a un mismo resultado: {2, 2, 3, 5}). Y lo mismo va a pasar con cualquier descomposicin en primos que
hagamos del nmero 60, obviamente. Obviamente? Qu tan obviamente? Si estuviramos descomponiendo
un primo, la cosa s es obvia: si p es un natural primo, p es el producto de todos los primos que componen
la lista {p}, y no puede haber otra lista con otros primos pues p no tiene otros factores primos. Pero para los
compuestos...
Por un momento, consideremos como universo de trabajo el conjunto de los nmeros enteros positivos pares,
{2, 4, 6, 8, . . .}, y llamemos primitivo a todo elemento de ese universo que no es expresable como producto de
dos o ms factores de ese universo. Por ejemplo, 2 y 6 son primitivos, mientras que 4 no (4 = 2 2) y 8 tampoco
(8= 2 4). En general, son primitivos todos los nmeros de la forma 4k + 2 con k N, es decir, son primitivos los
nmeros 2, 6, 10, 14, . . ., y todos los otros resultan compuestos. Por un argumento inductivo, se puede demostrar
que cualquier nmero de nuestro conjunto universal es factorizable como producto de primitivos. Pero, es nica
esa factorizacin, an si disponemos los factores en orden creciente? No! Por ejemplo, 60 = 2 30 = 6 10. Hay
dos factorizaciones distintas para 60 en el universo de los pares.
El rol que juegan los nmeros primitivos en el caso de los nmeros pares es el mismo que el que juegan los
primos en N, en cuanto a la posibilidad de factorizacin de cualquier elemento del respectivo universo. Qu nos
garantiza entonces que en N la factorizacin en primos es nica? Con el ejemplo de los nmeros pares, conamos
en haber transmitido al lector la inseguridad que deben haber sentido hace aos los matemticos al respecto:
estaremos en la misma situacin cuando hablamos de N con sus primos que cuando hablamos de los pares con
sus primitivos? Es probable que esa inseguridad haya conducido a la bsqueda de una demostracin formal de
la existencia y unicidad de factorizacin en primos.
El puntapi inicial hacia la demostracin es el siguiente resultado, muy conocido como la regla de oro de la
Aritmtica .
Lema 4.3. Sea p un natural primo, y sean a y b naturales. Supongamos que p | ab. Entonces p | a o p | b.
Demostracin. Si p | a, ya est demostrada la veracidad de la tesis. Si p no divide a a, es coprimo con a
(proposicin 3.4), por lo que, por teorema 3.20, es p un factor de b. 
Con una simple induccin, la regla de oro de la Aritmtica puede generalizarse diciendo que si un primo p
divide al producto a1 a2 an , entonces p | ai para algn i {1, . . . , n}.
Teorema 4.4. (Teorema Fundamental de la Aritmtica) Todo nmero natural mayor que 1 puede
expresarse como producto de naturales primos (con, tal vez, un solo factor). La factorizacin es nica excepto
por el orden de los factores.
Demostracin. Desglosaremos la prueba en dos partes: primero existencia y luego unicidad de la facto-
rizacin.

Existencia: Queremos ver que n 2, k 1, p1 , . . . , pk N tales que p1 , . . . , pk son todos primos y


n = p1 pk . Lo haremos por el Principio de Induccin, versin fuerte.
Observemos primero que si n es un nmero primo, tomamos k=1 y p 1 = n, cumplindose que p1
es primo y n = p1 . En particular, esto muestra la existencia de la factorizacin para el nmero 2, la
base de la induccin.
Ahora si n no es primo, debe ser n = a b, con 1 < a b < n. Entonces, por hiptesis inductiva, a =
p1 pk b = q1 qj con p1 , . . . , pk , q1 , . . . , qj todos primos. Por lo tanto, n = a b = p1 pk q1 qj ,
y
mostrando que n posee al menos una factorizacin en primos.
Unicidad: Queremos probar que si p1 pk = q1 qj con p1 , . . . , pk , q1 , . . . , qj todos primos y p1
pk y q1 qj , entonces k = j y p1 = q1 , . . . , pk = qk . Lo haremos por induccin en k (el
nmero de factores en la factorizacin de la izquierda).
1. Si k = 1, no puede ser j > 1, pues, en ese caso, sera p1 = q1 qj , con 1 < q1 < p1 , y entonces q1
sera un factor propio de p1 , contradiciendo que p1 es primo. Entonces j = 1, y p1 = q1 , cumplindose
la aseveracin.
2. Supongamos vlido el enunciado para k , y consideremos un caso en que p1 pk pk+1 = q1 qj con
p1 , . . . , pk , pk+1 , q1 , . . . , qj p1 pk pk+1 y q1 qj . Notemos que, por
todos primos y
el caso base de la induccin, debe ser j 2.
Por la Regla de Oro tenemos que pk+1 | qm para algn m {1, . . . , j}; pero siendo ambos primos,
debe ser pk+1 = qm . Como qm qj , es pk+1 qj . Por el mismo razonamiento, qj debe ser igual a
algn pi pk+1 , y entonces qj pk+1 . De aqu que pk+1 = qj . Entonces, ya que p1 pk pk+1 =
q1 qj , tenemos que p1 pk = q1 qj1 . Aqu, por hiptesis de induccin, es k = j 1 y
p1 = q1 , . . . , pk = qj1 , y entonces, en resumen, tenemos que k + 1 = j y que p1 = q1 , . . . , pk+1 = qj ,
segn queramos demostrar.


1. FACTORIZACIN DE NMEROS NATURALES: EXISTENCIA Y UNICIDAD 51

Observemos que la unicidad garantizada por el Teorema Fundamental sera falsa si nuestra denicin de
nmero primo hubiera permitido que 1 lo fuese. Por ejemplo, 2 = 1 2 = 1 1 2.
Llamamos factorizacin cannica de un nmero natural a la descomposicin en factores primos del mismo
en la que los primos que la componen estn ubicados en orden creciente. Es decir, la factorizacin cannica
de un nmero tiene la forma p1 p2 pk en donde p1 , p2 , . . ., pk son todos primos y 0 < p1 p2 pk .
Del Teorema Fundamental se desprende directamente la existencia y unicidad de la factorizacin cannica de
cualquier natural mayor que 1. Por ejemplo, la factorizacin cannica de 60 es 2 2 3 5. Dado que varios factores
de la factorizacin cannica pueden ser iguales, es comn agruparlos y usar notacin de exponenciacin. De este
modo, todo nmero a > 1 a = p
puede expresarse en su factorizacin cannica de la forma
1 2 n
1 p2 pn en
donde p1 , p2 , . . ., pn son todos primos, 1 , 2 , . . ., n son todos naturales positivos y 0 < p1 < p2 < < pn .
Cada i se denomina orden, o multiplicidad, del primo pi en a. Escrito de esta forma, 60 se expresa como
22 3 5, es decir, n = 3, 1 = 2, 2 = 1, 3 = 1, p1 = 2, p2 = 3 y p3 = 5. Lisa y llanamente, el Teorema
Fundamental de la Aritmtica establece lo siguiente: dados dos nmeros a y b cuyas factorizaciones cannicas
1 2 1 2 k
son, respectivamente p1 p2 pn n y q1 q2 qk , se tiene que a = b si, y slo si, k = n, p1 = q1 , p2 = q2 ,
. . ., pn = qk , 1 = 1 , 2 = 2 , . . ., n = k . Es decir, dos nmeros son iguales si, y slo si, sus respectivas
factorizaciones cannicas contienen exactamente los mismos primos y con las mismas multiplicidades. Si algn
primo de una de las factorizaciones no aparece en la otra, o si aparece con otra multiplicidad, los nmeros a yb
no pueden ser iguales. Mostramos un ejemplo del uso del Teorema Fundamental en la siguiente proposicin.

Proposicin 4.5. Sean a y b naturales positivos y coprimos tales que ab es un cuadrado. Entonces, a y b
son cuadrados.
1
Demostracin. Sean p n m
1 pn y q1 qm las factorizaciones cannicas de a y b respectivamente, con
1

+
1 , . . . , n , 1 , . . . , m Z . Siendo a y b coprimos, se sigue que i {1, . . . , n} , j {1, . . . , m} , pi 6= qj .
2 1 k +
Por hiptesis, existe c N tal que ab = c . Sea r1 rk la factorizacin cannica de c, con 1 , . . . , k Z .
Entonces es
 
1 2
(p n m
1 pn ) q1 qm
1
= (r11 rkk )
es decir,
n 1 21
p m
1 pn q1 qm = r1
1
rk2k
Sea i tal que1 i n. La multiplicidad de pi en el miembro de la izquierda de la anterior igualdad es i
(pues ninguno de los qj es igual a pi ). Entonces, debe haber un t {1, . . . , k} tal que pi = rt , por lo que la
multiplicidad de pi en el miembro de la derecha es 2t . Por el Teorema Fundamental, debe ser i = 2t . Como
i se eligi arbitrariamente, se ve que la multiplicidad de cada primo en la factorizacin de a es par, es decir,
 2
a = p2j 2jn
1 pn
1
= pj11 pjnn , para j1 , . . . , jn naturales positivos. Entonces, a es el cuadrado del nmero
natural pj11 pjnn . Anlogamente se demuestra que b tambin es un cuadrado. 

A veces, es conveniente usar una pequea variacin para la forma cannica con exponentes, permitiendo que
algunos exponentes sean 0. Por ejemplo, 45 = 20 32 5. Esta forma de factorizacin es til por varios motivos:

Todo natural positivo es expresable de esta forma. Esto incluye al 1. Por ejemplo, 1 = 20 = 20 50 , etc.
Cuando se desea estudiar propiedades relativas a la factorizacin en primos de dos o ms nmeros,
siempre puede hacerse de cuenta que las listas de los primos que intervienen en las respectivas facto-
rizaciones son idnticas (pues si un primo no aparece en la factorizacin cannica de un nmero, se lo
puede incluir con exponente 0). Cuando dos nmeros estn expresados como producto de potencias de
primos de una misma lista, tenemos que ambos son iguales si, y slo si, los correspondientes primos en
cada factorizacin tienen exponentes iguales.

1.1. El Teorema Fundamental de la Aritmtica en enteros. Si recordamos nuestra denicin de


nmero primo en el mbito de los nmeros enteros, tenemos que por cada natural primo encontramos un
primo negativo tambin. Con la regla de los signos presente, nos preguntamos por la existencia y unicidad de
descomposicin en factores primos enteros de un dado nmero entero a de mdulo mayor que 1. La existencia
es bastante obvia, pues |a| es natural y admite factorizacin en factores primos naturales (que tambin son
enteros), as que a admite esa misma factorizacin salvo que cambiando de signo al primer factor en el caso en
que a es negativo. Pero enseguida nos damos cuenta de que las posibilidades de descomponer a a en factores
primos enteros pueden ser muchas. Por ejemplo, 60 = 2 2 3 5 = (2) 2 (3) 5 = (2) (2) (3) (5).
En todas estas descomposiciones del 60, ni siquiera intervienen los mismos primos.
Pero la cosa cambia si nos preguntamos por descomponer a un entero de mdulo mayor que 1 en factores
primos naturales (anteponiendo, quiz, un signo menos). All, la descomposicin de aZ es la misma que la
de |a| N, salvo que multiplicada por un nmero s que vale 1 o 1 segn si a es positivo o negativo. Eso es lo
que dice el Teorema Fundamental adaptado al conjunto de los nmeros enteros.
52 4. EL TEOREMA FUNDAMENTAL DE LA ARITMTICA

Teorema 4.6. (Teorema Fundamental de la Aritmtica en enteros) Sea a un entero tal que |a| > 1.
Entonces existe una sucesin nita {p1 , p2 , . . . , pn } de primos positivos, y un entero s {1, 1}, tales que a =
sp1 p2 pn con p1 p2 pn . La descomposicin de a es nica, en el sentido de que si a = s0 p01 p02 p0m
con s0 {1, 1} y p01 , p02 , . . . , p0m primos positivos tales que p01 p02 p0m , entonces m = n, s0 = s,
p01 = p1 , p02 = p2 , . . ., p0n = pn .
Demostracin. Del teorema 4.4, tenemos que |a| admite una nica descomposicin de la forma |a| =
p1 p2 pn con p1 , p2 , . . . , pn primos positivos y p1 p2 pn . Por lo tanto, o bien es a = p1 p2 pn o
bien es a = (1) p1 p2 pn , es decir, a = sp1 p2 pn para un nico s {1, 1} y una nica sucesin nita de
primos naturales p1 , p2 , . . . , pn con p1 p2 pn . 

2. Algunas consecuencias del Teorema Fundamental

2.1. Divisibilidad a partir de la factorizacin. Cuando dos nmeros naturales estn expresados en
su forma cannica pero con la posibilidad de que los exponentes sean 0, es muy fcil determinar si uno de ellos
divide al otro.

Teorema 4.7. Sean a y b dos naturales positivos cuyas factorizaciones en primos sean
a = p1 2 n
1 p2 pn , 1 , . . . , n N
b = p1 1 p2 2 pnn , 1 , . . . , n N
con p1 , . . . , pn primos, 0 < p1 < < pn . Se tiene que a divide a b si, y slo si, i i para todo i {1, . . . , n}.
Demostracin. Supongamos que a | b. Entonces existe c N tal que ac = b. Todo factor primo de c
es tambin factor primo de b, por lo que podemos escribir c = p11 p22 pnn con i N para i = 1, . . . , n.
1 +1 2 +2
Obsrvese que ac = p1 p2 p
n
n +n
. Siendo iguales los nmeros ac y b, por el Teorema Fundamental,
es i + i = i para todo i {1, . . . , n}. De all, se sigue que para todo 1 i n es i i .
Para la vuelta, supongamos que para todo i {1, . . . , n} es i i . Esto quiere decir que para cada
i {1, . . . , n} existe i N tal que i + i = i . Denamos c = p11 pnn , resultando c un nmero natural que
1 1 +1
1
satisface ac = (p1 pn n ) (p1 pnn ) = p1 p
n
n +n
= p1 1 pnn = b. De aqu se deduce que a | b. 
Como ejemplo de aplicacin de este criterio de divisibilidad, deduzcamos el siguiente resultado.

Proposicin 4.8. Sean a y b nmeros naturales. Se tiene que a | b si, y slo si, a2 | b2 .
Demostracin. La proposicin resulta obvia si b = 0, de modo que supongamos b 6= 0 (y, en ese caso,
tanto a como b son naturales positivos).
Para la ida, supongamos que a | b. Entonces existe cN tal que b = ac. Luego, b2 = c2 a2 con c2 N. Por
2 2
lo tanto, a |b .
1
Para la vuelta, supongamos que a2 | b2 . Sean p n n
1 pn y p1 pn las factorizaciones en primos de a y b
1

respectivamente, con 1 , . . . , n , 1 , . . . , n N y 0 < p1 < < pn . Entonces, las factorizaciones respectivas


2 2 21 21
de a y b son p1 p2
n
n 2
y b = p1 p2 2 2
n . Ya que a | b , del teorema 4.7, tenemos que para cualquier
n

i {1, . . . , n} es 2i 2i , es decir, i i . Luego, nuevamente por el teorema 4.7, se tiene que a | b. 


2.2. M. C. D. y M. C. M. a partir de la factorizacin. La factorizacin cannica (con exponentes
pudiendo valer 0) de dos nmeros tambin permite el clculo casi inmediato de su mximo comn divisor y
mnimo comn mltiplo.

Teorema 4.9. Sean a y b dos naturales positivos cuyas factorizaciones en primos sean
a = p1 2 n
1 p2 pn , 1 , . . . , n N
b = p1 1 p2 2 pnn , 1 , . . . , n N
con p1 , . . . , pn primos, 0 < p1 < < pn . Se tiene que
mn(1 ,1 ) mn(2 ,2 )
mcd (a, b) = p1 p2 pmn(
n
n ,n )

y que
max(1 ,1 ) max(2 ,2 )
mcm (a, b) = p1 p2 pmax(
n
n ,n )

Demostracin. Hagamos d = p11 p22 pnn


i = mn (i , i ) para 1 i n. Se tiene que d es un
con
nmero positivo, pues es un producto de nmeros naturales. Ya que i i y i i para 1 i n, se tiene
que d | a y d | b (teorema 4.7). Sea k cualquier divisor comn de a y b. Como los factores primos de k tambin
1 2
lo son de a y de b, debe ser k = p1 p2 pnn con i N para cada i {1, . . . , n}. Como k | a y k | b debe ser,
para 1 i n, i i y i i , es decir, i mn (i , i ). Entonces, por teorema 4.7, k | d. Ya que d es
un divisor comn positivo de a y b divisible por cualquier divisor comn de a y b, se sigue que d = mcd (a, b)
(teorema 3.13).
2. ALGUNAS CONSECUENCIAS DEL TEOREMA FUNDAMENTAL 53

Para lo referente a mcm (a, b), observemos que max (i , i ) + mn (i , i ) = i + i , as que max (i , i ) =
i + i mn (i , i ). Por lo tanto, por teorema 3.37, es
 
1 2
ab (p 1 2 n
1 p2 pn ) p1 p2 pn
n

mcm (a, b) = = mn( , ) mn( , ) mn(n ,n )


mcd (a, b) p1 1 1
p2 2 2
pn
+1 mn(1 ,1 ) 2 +2 mn(2 ,2 )
= p1 1 p2 pnn +n mn(n ,n )
max(1 ,1 ) max(2 ,2 )
= p1 p2 pmax(
n
n ,n )

segn queramos demostrar. 


2.3. Cantidad de divisores. Dado un nmero natural, cuntos divisores naturales tiene? El 0, in-
nitos. El 1, uno solo: el propio 1. Y los otros nmeros naturales? El Teorema Fundamental nos da las he-
rramientas apropiadas para saberlo. Dado a > 1, su factorizacin cannica puede escribirse p 1 2 n
1 p2 pn con
+
p1 < p2 < < pn primos y 1 , . . . , n Z . Del teorema 4.7, sabemos que cualquier factor de a tiene la
1 2
forma p1 p2 pnn con 1 , . . . , n N, 1 1 , . . . , n n . Por lo tanto, para contar la cantidad de di-
visores que tiene a, debemos contar de cuntas maneras distintas podemos seleccionar 1 , 2 , . . . , n de modo
de tener i i para cada i {1, . . . , n}. Es obvio que para seleccionar i tenemos i + 1 posibilidades:
0, 1, . . . , i . De este modo, por el Principio Fundamental del Conteo, la seleccin de 1 , 2 , . . . , n puede hacerse
de (1 + 1) (2 + 1) (n + 1) maneras distintas. Hemos demostrado entonces el siguiente resultado.

Proposicin 4.10.Sea a = p1 1 p2 2 pnn con p1 < p2 < < pn nmeros naturales primos y 1 , 2 , . . .,
n Z . Entonces, a posee exactamente (1 + 1) (2 + 1) (n + 1) divisores naturales.
+

Por ejemplo, 24 = 23 31 , de modo que 24 posee exactamente (3 + 1) (1 + 1) = 8 divisores naturales (y


efectivamente los divisores de 24 son 1, 2, 3, 4, 6, 8, 12 y 24).
Debe notarse que, an cuando permitisemos que algunos exponentes de los primos en la factorizacin de
a sean 0, la situacin no cambia, pues si algn i vale 0, el correspondiente factor i + 1 es 1, y no cambia la
cantidad calculada de divisores. Por ejemplo, an escribiendo 24 = 23 31 110 230 , la cantidad de divisores
naturales de 24 es (3 + 1) (1 + 1) (0 + 1) (0 + 1), es decir, sigue siendo 8.

2.4. Races de nmeros primos. Dado un primo p N, nos preguntamos por la naturaleza de las
races cuadradas de p. Sern nmeros naturales? Obviamente que no, pues si fuese a2 = p para algn natural
a, siendo p primo, debe ser a > 1, y entonces a sera un factor propio de p, contradiciendo que p es primo. O
sea que las races cuadradas de un primo no pueden ser nmeros naturales. Por un argumento similar, vemos

que n p no puede ser natural si p es primo, cualquiera sea n 2.

Podr ser n p un nmero racional? Es decir, existen nmeros racionales cuya n-sima potencia sea igual
a p? El Teorema Fundamental, a travs de la factorizacin, nos da la pista para averiguarlo.
Sea r r = m/q , con m Z, q Z+ y, sin prdida de
un nmero racional. Como tal, puede expresarse como
k
generalidad, podemos suponer mcd (m, q) = 1. Supongamos que la factorizacin cannica de m es p 1 2
1 p2 pk
+ 1 2 j
con p1 < p2 < < pk primos y 1 , . . . , k Z , y que la de q es q1 q2 qj con q1 < q2 < < qj primos
+
y 1 , . . . , j Z . Del hecho que m y q son coprimos, se sigue que ninguno de los primos que aparece en la
factorizacin de q aparece en la de m, y viceversa. Es decir, t {1, . . . , k} , i {1, . . . , j} , pt 6= qi
n n n
Supongamos que r es una raz n-sima de p, es decir, r cumple que r = p. Debe ser entonces m = pq , es
n1 n2 nk n1 n2 nj
decir, p1 p2 pk = pq1 q2 qj . Como a la derecha aparece el primo p (con exponente mayor que
0), por el Teorema Fundamental, debe existir t {1, . . . , k} tal que pt = p, y por lo tanto la multiplicidad de p
n n
en m es nt . Ya que pt 6= qi para 1 i j , se sigue que la multiplicidad de p en el nmero pq es 1. Entonces,
n n
para tener m = pq , debe ser nt = 1. Esto es imposible si n 2, pues es t 1.
Hemos demostrado, por lo tanto, que la raz n-sima de un nmero primo no puede ser un nmero racional,
si n 2. En consecuencia, para n 2, las races n-simas reales de un nmero primo siempre son nmeros
irracionales.

2.5. Races de polinomios a coecientes enteros. Generalizamos ahora la discusin de la seccin


previa. Dada la ecuacin

(*) xn + an1 xn1 + an2 xn2 + + a2 x2 + a1 x + a0 = 0


en la variable x, con a0 , a1 , . . . , an1 Z y n 1, qu tipo de soluciones admite? Vamos a demostrar que
todas las soluciones racionales de la ecuacin son necesariamente enteras.
Supongamos que r es un nmero racional que es solucin de la ecuacin. Entonces podemos suponer que
r = m/q con m Z, q Z+ y mcd (m, q) = 1. Reemplazando a r en la ecuacin, resulta

mn mn1 mn2 m2 m
n
+ an1 n1 + an2 n2 + + a2 2 + a1 + a0 = 0
q q q q q
54 4. EL TEOREMA FUNDAMENTAL DE LA ARITMTICA

Multiplicando a ambos miembros por qn , y despejando, queda


n n1
m = an1 qm an2 q 2 mn2 a2 q n2 m2 a1 q n1 m a0 q n
es decir,
mn = q an1 mn1 an2 qmn2 a2 q n3 m2 a1 q n2 m a0 q n1

n n
por lo que q es un factor de m , y entonces mcd (m , q) = q . Pero adems, ya que q es coprimo con m, se tiene
n
que mcd (m , q) = 1 (lo cual puede verse por induccin sobre n, teniendo presente el teorema 3.21). Luego,
deducimos que q = 1, y entonces r = m Z. Concluimos entonces que las soluciones reales de la ecuacin (*)
son o bien enteras, o bien irracionales.
Esto nos da otra justicacin para armar que las races reales de un nmero primo siempre son irracionales:
ya sabemos que, como soluciones de la ecuacin xn = p, son o bien enteras o bien irracionales. Pero tambin
sabemos que no pueden ser enteras, pues en ese caso p tendra factores propios, en contra de la denicin
de nmero primo. Por lo tanto, las races n-simas reales de cualquier nmero primo siempre son nmeros
irracionales.
La ecuacin xn + an1 xn1 + an2 xn2 + + a2 x2 + a1 x + a0 = 0 es un caso particular de la siguiente:
n n1 n2 2
an x + an1 x + an2 x + + a2 x + a1 x + a0 = 0
con n 1, a0 , . . . , an Z, an 6= 0. La generalizacin consiste en que el coeciente que acompaa a xn no
es ya necesariamente 1. Procediendo como arriba, buscamos soluciones de la forma m/q con m y q coprimos.
Operando de manera anloga, llegamos a que

an mn = q an1 mn1 an2 qmn2 a2 q n3 m2 a1 q n2 m a0 q n1




Vemos que q | an mn , y como q es coprimo con mn se sigue que q debe ser un factor de an . Por otro lado,
siendo an = tq para algn entero t, se llega a que

tmn = an1 mn1 an2 qmn2 a2 q n3 m2 a1 q n2 m a0 q n1


de donde se ve que o bien es m = 0 (nicamente en el caso en que a0 = 0), o bien m es un factor de
an1 mn1 an2 qmn2 a2 q n3 m2 a1 q n2 m a0 q n1 . Pero de aqu, por aplicacin de la proposicin
n1 n1
2.27, vemos que m debe dividir a a0 q . Y como m es coprimo con q se sigue que m debe dividir a a0 .
Hemos demostrado un conocido criterio para buscar las races racionales de un polinomio a coecientes enteros,
que resumimos a continuacin.

Teorema 4.11. Considrese la ecuacin


an xn + an1 xn1 + an2 xn2 + + a2 x2 + a1 x + a0 = 0
con n 1, a0 , . . . , an Z, an 6= 0. Los nicos racionales que pueden satisfacerla son el 0 y los de la forma m/q ,
con m Z {0}, q Z+ , m factor de a0 y q factor de an .
Debe notarse que el teorema precedente da condiciones necesarias, pero no sucientes, para que un nmero
racional sea solucin de la ecuacin. Es decir, slo proporciona un criterio para obtener racionales candidatos a
solucin de la ecuacin.

Ejemplo 4.12. Encontrar las races racionales de la ecuacin 2x3 3x + 9 = 0.


n = 3, a3 = 2 y a0 = 9. El 0 no es solucin, pues a0 6= 0, as que busquemos soluciones no
En este caso, es
nulas. Los factores positivos de a3 son 1 y 2. Los de a0 son 1, 1, 3, 3, 9, 9. Los racionales de la forma m/q
con m factor de a0 y q factor positivo de a3 son

1 1 3 3 9 9
1, 1, 3, 3, 9, 9, , , , , ,
2 2 2 2 2 2
y son los nicos racionales que pueden ser solucin de la ecuacin. Por vericacin directa de cada uno de ellos,
se comprueba que ninguno de esos valores la satisface. Concluimos entonces que la ecuacin 2x3 3x + 9 = 0
no tiene races racionales. 

3. Ternas pitagricas

Consideremos el problema de encontrar x, y , z x2 + y 2 = z 2 . De la sola observacin de


naturales tales que
la ecuacin, encontramos un montn de soluciones: x = a, y = 0, z = a (siendo a cualquier natural) y x = 0,
y = a, z = a (a N). En todas ellas, al menos un valor es 0, y llamaremos triviales a tales soluciones. Una
solucin no trivial es, por ejemplo, x = 15, y = 8, z = 17, y nos interesa encontrar, de manera sistemtica, todas
las soluciones no triviales de la ecuacin.
Por su relacin con el ultrafamoso Teorema de Pitgoras, la ecuacin x2 + y 2 = z 2 se denomina ecuacin
pitagrica, y se trata de una ecuacin diofantina no lineal. Una terna (x, y, z) de nmeros naturales positivos
que cumplen la ecuacin se denomina una terna pitagrica, pues existe un tringulo rectngulo cuyos catetos
miden x e y, y cuya hipotenusa mide z. Las ternas pitagricas son entonces las soluciones no triviales de la
ecuacin pitagrica.
3. TERNAS PITAGRICAS 55

Algunos ejemplos de ternas pitagricas: (3, 4, 5), (4, 3, 5), (15, 8, 17), (30, 16, 34). Las dos primeras nos in-
ducen a pensar que x e y pueden intercambiarse, y efectivamente as ocurre: si (x, y, z) es terna pitagrica,
entonces (y, x, z) tambin lo es. De la observacin de los dos ltimos ejemplos, surge una primera observacin
interesante.

Proposicin 4.13. Si (x, y, z) es una terna pitagrica y k es un natural positivo, entonces (kx, ky, kz) es
tambin una terna pitagrica.
2 2
Demostracin. Por ser x, y , z y k todos positivos, tambin lo son kx, ky y kz . Adems, (kx) + (ky) =
 2
k 2 x2 + k 2 y 2 = k 2 x2 + y 2
= k 2 z 2 = (kz) . 
En lo sucesivo, ser muy til conocer la estrecha vinculacin que existe entre los divisores de las componentes
de una terna pitagrica.

Proposicin 4.14. Sea (x, y, z) una terna pitagrica. Se tiene que


mcd (x, y) = mcd (x, z) = mcd (y, z) = mcd (x, y, z)
Demostracin. Designemos por g a mcd (x, y). Como g | x y g | y, se tiene que g 2 | x2 y g 2 | y 2 , y
2 2 2 2 2
entonces g | x + y . Es decir, g | z . Pero entonces g | z (proposicin 4.8). Por lo tanto, mcd (x, y, z) =
mcd (mcd (x, y) , z) = mcd (g, z) = g .
2 2
Es obvio que g es un entero positivo que es un divisor comn de x y z . Si t | x y t | z , tenemos que t | x y
2 2 2 2 2 2 2
t | z , por lo que t | z x , es decir, t | y , y entonces t | y . Ya que t | x y t | y , tenemos que t | mcd (x, y),
vale decir, t es un factor de g . Por el teorema 3.13, es mcd (x, z) = g . De manera enteramente anloga, se deduce
que mcd (y, z) = g . 
Supongamos que (x, y, z) sea una terna pitagrica, con g = mcd (x, y). Hagamos x0 = x/g , y 0 = y/g y
0 0 0 0
z = z/g . De la proposicin anterior y del corolario 3.19, tenemos que x , y y z son coprimos de a pares, y
(x0 , y 0 , z 0 ) es una terna pitagrica:
 2  2  2
0 2 x 0 2y x2 + y 2 z 2
(x ) + (y ) = + = = = (z 0 )
g g g2 g
Es decir, por cada terna pitagrica podemos conseguir una terna pitagrica en la que los naturales involu-
crados son coprimos de a pares (que, en virtud de la proposicin 4.14, es equivalente a decir que son coprimos).
Tales ternas se denominan ternas pitagricas primitivas, y, por lo dicho hasta ahora, para estudiar todas
las soluciones en N3 de la ecuacin x2 + y 2 = z 2 , alcanza con estudiar las ternas primitivas que son solucin de
la ecuacin, pues toda terna pitagrica es o bien primitiva o bien de la forma (kx, ky, kz) con k Z+ y (x, y, z)
terna pitagrica primitiva.
Entonces, tratemos ahora de deducir condiciones necesarias y sucientes para x, y y z de modo que (x, y, z)
sea terna pitagrica primitiva. Vamos primero por la obtencin de condiciones necesarias. La ms evidente de
todas ellas proviene de la denicin misma, y es que x, y y z sean coprimos de a pares. Eso obliga a que x e y
no sean ambos pares. Pueden ser ambos impares?

Lema 4.15. Sea z un nmero natural. Entonces, el resto de dividir z 2 entre 4 es o bien 0 o bien 1.
Demostracin. Por el teorema de la divisin, existen naturales
 que z = 2k + r con 0 r < 2
k y r tales
(es decir, r = 1). Por lo tanto, es z 2 = 4k 2 + 4kr + r2 = 4 k 2 + kr + r2 . Hagamos c = k 2 + kr, y
r =0 o
2 2 2 2 2
notemos que, ya que r = 0 o r = 1, es r = 0 o r = 1. Luego, z = 4c + r con 0 r < 4, es decir, sta es la
2 2
 2
ecuacin de la divisin entre z y 4; en particular, r z , 4 = r {0, 1}, como se quera probar. 
Lema 4.16. Si (x, y, z) es una terna pitagrica primitiva, entonces no puede ser que x e y sean ambos
impares.
Demostracin. Demostremos la contrarrecproca. Supongamos que
 x = 2k + 1 e y = 2n + 1, con k, n N.
Se tiene que x2 + y 2 = 4k 2 + 4k + 1 + 4n2 + 4n + 1 = 4 k 2 + k + n2 + n + 2. Haciendo c = k 2 + k + n2 + n N,
2 2 2 2
se tiene que x + y = 4c + 2, y entonces el resto de dividir x + y entre 4 es 2. Luego, por el lema 4.15,
x + y no puede ser el cuadrado de un nmero natural. De all que x + y 2 6= z 2 , y entonces (x, y, z) no es terna
2 2 2

pitagrica. 
Entonces, en cualquier terna pitagrica primitiva (x, y, z), x e y son de paridad opuesta, es decir, uno es
par, y el otro impar. A los nes de las deducciones que siguen, supondremos que x es el impar e y el par (las
ternas en las que x es par e y impar se obtienen por intercambio).
Dado que elevar al cuadrado no altera la paridad de un nmero, y que la suma de dos nmeros de paridad
opuesta es un impar, ser entonces x2 impar, y2 par y z2 impar. Por lo tanto, z es impar. Observemos que, dado
2 2 2
que y =z x , se tiene que
 y 2 zxz+x
=
2 2 2
56 4. EL TEOREMA FUNDAMENTAL DE LA ARITMTICA

zx z+x zx z+x

Ntese que mcd 2 , 2 divide a
2 y a 2 y por tanto a cualquier combinacin lineal a coecientes
zx z+x zx z+x zx z+x
enteros de
2 y 2 , en particular a 2 + 2 , que es igual a z . Es decir, mcd 2 , 2 | z . Anlogamente,
zx z+x z+x zx zx z+x
mcd 2 , 2 | x pues x = 2 2 . Entonces, mcd 2 , 2 | mcd (x, z). Como estamos suponiendo que
x y z son coprimos, se tiene que mcd zx z+x
= 1, es decir, zx z+x

2 , 2 2 y 2 son coprimos. Pero su producto es
2
(y/2) , es decir, el cuadrado de un natural, por lo que, por proposicin 4.5, debe ser zx 2 z+x
2 = s y 2 = r para
2
2 2
ciertos r y s naturales positivos. Debe ser r > s (pues z + x > z x). Ya que r y s son coprimos, se tiene que
r y s son coprimos (pues si r y s no fuesen coprimos, tendran un factor comn t 2, y entonces t2 sera un
2 2 2 2 2 2
factor comn de r y s , por lo que stos no seran coprimos). Adems, r + s = z , r s = x y 2rs = y . Y
2 2
ya que z es impar, no pueden ser r y s ambos pares (pues r + s sera par) ni ambos impares (por la misma
razn). Entonces r y s son de paridad opuesta.
En sntesis, si (x, y, z) es terna pitagrica primitiva con x impar, existen r, s N tales que r > s > 0,
mcd (r, s) = 1, r y s son de paridad opuesta, x = r2 s2 , y = 2rs y z = r2 + s2 .
Resulta que la recproca de esto es tambin cierta, y tenemos entonces el siguiente resultado.

Teorema 4.17. (Kronecker) (x, y, z) es una terna pitagrica primitiva con x impar si, y slo si, existen
r, s N tales que r > s > 0, mcd (r, s) = 1, r y s son de paridad opuesta, x = r2 s2 , y = 2rs y z = r2 + s2 .
Demostracin. La ida ha sido ya demostrada en los prrafos precedentes. Para la vuelta, supongamos
que r s son naturales que satisfacen:
y

r > s > 0.
mcd (r, s) = 1.
r y s tienen paridad opuesta
2 2
Supongamos adems que es x = r s , y = 2rs y z = r2 + s2 , y veamos que (x, y, z) resulta una terna
pitagrica primitiva en donde x es impar.
Por un lado,
2 2 2
x2 + y 2 = r2 s2 + (2rs) = r4 2r2 s2 + s4 + 4r2 s2 = r4 + 2r2 s2 + s4 = r2 + s2 = z2
mostrando que (x, y, z) es una terna pitagrica.
Por otro lado, como r y s son de paridad opuesta, tambin lo son r2 y s2 , de donde surge que x es impar.
Falta ver que x, y y z son coprimos de a pares. Comencemos viendo que x e y son coprimos, teniendo en cuenta
el corolario 3.9 y el teorema 3.21:
Dado que r y s son coprimos, 1 = mcd (r, s) = mcd (r s, s) y 1 = mcd (r, s) = mcd (r + s, s). Luego,
mcd ((r s) (r + s) , s) = 1, es decir, mcd (x, s) = 1.
De manera similar, tenemos que mcd (r, r s) = mcd (r, s) = mcd (r, s) = 1 y mcd (r, s + r) = mcd (r, s) =
1, por lo que mcd (r, (r s) (s + r)) = 1, es decir, mcd (r, x) = 1.
Como x es coprimo con r y con s, es mcd (x, rs) = 1. Y como x es impar, es mcd (x, 2) = 1. Por lo tanto,
mcd (x, 2rs) = 1, es decir, x e y son coprimos.
Finalmente, ya que (x, y, z) es terna pitagrica, por proposicin 4.14, se tiene que mcd (x, z) = mcd (y, z) =
mcd (x, y) = 1. Entonces, x, y y z son coprimos de a pares, y, en consecuencia, (x, y, z) es terna pitagrica
primitiva con x impar. 
Captulo 5

CONGRUENCIAS

En este ltimo captulo del curso abordaremos el estudio de las congruencias, una poderosa herramienta
en Teora de Nmeros desarrollada desde el siglo XIX por Gauss, y continuada hasta nuestros das por nu-
merosos investigadores de la Matemtica, y tambin de otras ramas cientcas, particularmente Ciencias de la
Computacin, para mencionar una. Esto se explica ya que, por ejemplo, las congruencias son fundamentales en
la Criptografa, la ciencia de las comunicaciones en secreto. Las propiedades matemticas de las congruencias
permiten hacer con un altsimo grado de seguridad la codicacin de mensajes (es decir, la transformacin de
un texto legible en uno sin sentido aparente) de modo tal que puedan ser decodicados (o sea, recuperados en su
formato legible original a partir del texto aparentemente ininteligible) slo por quien est autorizado a hacerlo;
y los fundamentos matemticos de las congruencias son, entre otros, los que permiten garantizar el alto grado
de conanza que se tiene en que el desciframiento es virtualmente imposible para un intruso ( hacker, como le
llamamos hoy).
Pero resulta que no slo esos investigadores hacen congruencias. Nosotros, los mortales comunes y corrientes,
tambin las hacemos en muchas situaciones de la vida cotidiana que se presentan con frecuencia y que manejamos
con absoluta naturalidad. El objetivo de este captulo es ejemplicar situaciones de ese estilo, reconocer que
hay un patrn de comportamiento comn en ellas, formularlas desde un punto de vista matemtico, y estudiar
propiedades sobre ellas, de manera de contar con una herramienta sistemtica para comprenderlas (precisamente
de eso se trata la Matemtica...).

1. Congruencia mdulo m
Parada en Caseros esquina Alberdi, en su diario paseo cntrico, Liliana mira hacia el Cerro San Bernardo,
contemplando su belleza. Sin desplazarse de su lugar, gira hacia su izquierda un ngulo de 180 , lo que le da
la oportunidad de admirar la imponente Precordillera con algo de nieve; acto seguido, decide girar, tambin
sin desplazarse y hacia la izquierda, otros 90 , lo que le permite ver la muchedumbre que colma la Peatonal
Alberdi y, nalmente, contina girando en el mismo sentido 180 ms, para quedar apuntando en direccin de
la renovada Galera del Turista con sus vistosos colores. En su recorrido para obtener un panorama completo de
lo que ocurre a su alrededor (para chusmear, diramos en salteo bsico), Liliana ha totalizado un giro de 450 .
El San Bernardo ha quedado a su derecha. Piensa entonces, y con justa razn, que, desde el punto de vista de
la direccin a la que queda apuntando, hubiese sido lo mismo haber girado desde su postura inicial (mirando el
cerro) hacia su izquierda un ngulo de 90 . Es decir, hay un punto de vista desde el cual 90 representa lo mismo
que 450 (obviamente, desde el punto de vista de los paisajes que pudo apreciar, no son lo mismo; tampoco
son lo mismo desde el punto de vista del mareo que le qued luego de girar). Pero desde ese punto de vista
90 y 450 son coincidentes, o, para emplear
(la direccin en que qued apuntando), sinnimos, concordantes o
congruentes. Del mismo modo, el nmero 810 representa la misma direccin.
En general, como sabemos que una vuelta completa representa 360 , girar un ngulo de ms de 360 es
lo mismo que girar un ngulo igual al resto de la divisin de por 360, pues cada 360 constituyen una vuelta
entera, y signican quedar mirando en la direccin original, de modo que la direccin nal coincide con el resto
de dividir el ngulo total girado entre 360.
Observemos, en una recta numrica, los valores 90, 450 y 810:

En el dibujo hemos marcado tambin los nmeros que corresponden a vueltas completas (0, 360, 720, etc.)
y vemos que los nmeros 90, 450 y 810 distan de los correspondientes a la mayor vuelta completa superada una
misma cantidad (90), y es so precisamente lo que los hace equivalentes (o congruentes) desde el punto de vista
de la direccin nal.
Resumamos la situacin: suponiendo que se giran ngulos en una cantidad entera de grados, hay 360
posiciones posibles, cada una de las cuales representa una innidad de posibles giros (nmeros enteros), y la
manera de encontrar con qu posicin se corresponde cada nmero es tomar el resto de la divisin del nmero
por 360.
57
58 5. CONGRUENCIAS

Veamos otro ejemplo de la vida cotidiana en el que tambin slo interesan los restos de una divisin: hasta
hace unos aos, los cuentakilmetros de los autos tenan cinco rueditas para indicar el kilometraje recorrido.
Recin salido el auto de la fbrica, el cuentakilmetros marcaba 00000; luego de que el auto recorri10 km.,
marcaba 00010. A los 99.999 km. marcaba 99999, y a los 100.000 km. marcaba 00000 (pero no signicaba que
el dueo tena de nuevo un cero kilmetro!). A los 100.010 km. volva a marcar 00010, y a los 200.010 km.
tambin. En general, tal cuentakilmetros no muestra necesariamente el kilometraje real, sino el resto de dividir
el mismo por 100.000. Los nmeros 10 y 200.010 son equivalentes desde el punto de vista del cuentakilmetros
(y seguramente no desde el punto de vista del estado del automvil). O sea que si alguien ve que el aparato
marca 00010, con esa sola informacin no puede saber si el auto lleva recorridos 10, 100.010, o 200.010 km. (o
cualquier otro nmero que sea 10 unidades mayor que un mltiplo de 100.000).
Situaciones de este tipo, en que slo interesa el resto de una divisin, ocurren tan a menudo que a veces ni
nos damos cuenta de que estamos en una de ellas, y de que estamos usando matemtica para manejarla. Por
ejemplo, si hoy es jueves, y nos preguntamos por el da de la semana que ser dentro de 22 das, difcilmente
optemos por contar los das uno a uno (hoy jueves, maana viernes, pasado sbado...). Ms bien, resolvemos la
situacin notando que cada 7 das volveremos a estar en jueves, por lo que en 21 das ser tambin jueves, de
modo que en 22 das estaremos en un viernes. Es decir, basta calcular el resto de la divisin de 22 por 7 (que
ser un nmero entre 0 y 6) y ver qu da de la semana ser dentro de esa cantidad de das.
Los matemticos, conscientes de lo comn de la situacin, la han generalizado de la siguiente manera.

Definicin 5.1. Sea m un nmero entero positivo. Dos nmeros enteros a y b se dicen congruentes
mdulo m si el resto de dividir a por m es el mismo que el de dividir b por m. El nmero m mdulo
se llama
de la congruencia.

El hecho de que dos enteros a y b sean congruentes mdulo m se denota de varias maneras, segn el gusto
de cada autor:

a b (mod m) a b (m) a m b
Por razones de comodidad y precisin, nosotros emplearemos la de la derecha (la de la izquierda exige
escribir mucho, y la del medio puede crear alguna confusin con la operacin de producto de nmeros). Cuando
dos nmeros a y b no son congruentes mdulo m, escribimos a 6m b, y diremos que a y b son incongruentes
mdulo m. El smbolo de congruencia () tiene un parecido tipogrco con el smbolo standard de la igualdad
(=), y ms adelante veremos que el parecido no es slo en la forma sino en la funcionalidad (bajo varios aspectos
matemticos, la igualdad y la congruencia se comportan de la misma forma, aunque tambin veremos ciertas
diferencias). Gauss fue el primero en darse cuenta de ello, y por eso propuso el uso de para simbolizar a las
congruencias.
Nuestros ejemplos de ms arriba nos hacen ver que nuestro sistema de medicin de ngulos est gobernado
por la congruencia mdulo 360, el cuentakilmetros del auto por la congruencia mdulo 100.000, y los das de
la semana en un almanaque por la congruencia mdulo 7. Para citar ms ejemplos, el reloj es un dispositivo que
obedece a congruencia mdulo 24 para las horas del da, y mdulo 60 para los minutos y segundos. El almanaque
tambin responde a la congruencia mdulo 12 para los meses del ao. Las congruencias estn alrededor nuestro
ms de lo que imaginamos...
De acuerdo a la denicin y a los ejemplos, tenemos que 90 360 450, 90 360 810, 90 6360 45, 22 7 1,
10 100.000 100.010, 810 360 270. Momentito! Esta ltima nos parece, cuando menos, sospechosa. Sin
embargo, notemos que nuestra denicin de congruencia permite que a y b sean enteros, as que al menos tiene
sentido preguntarse si 810 360 270. Podemos respondernos sin problemas, ya que sabemos dividir nmeros
enteros. Y efectivamente r (810, 360) = 90 = r (270, 360), as que 810 360 270. Esto tiene adems una
interpretacin fsica en el caso de la Liliana girando por el centro: los nmeros positivos representan giros en
sentido antihorario, y los negativos, giros en sentido contrario. O, en el caso de los das de la semana, los nmeros
positivos representan das hacia el futuro, y los negativos, das hacia el pasado: si hoy es jueves, qu da de la
semana fue hace 22 das? Como 22 7 6, la respuesta es la misma que la de la pregunta Qu da cae dentro
de 6 das? o tambin Qu da de la semana fue ayer? (pues 22 7 1); la respuesta a las tres preguntas es
mircoles.

2. Propiedades generales de las congruencias

A primera vista, puede resultar un poco molesto tener que andar haciendo tantas divisiones por m para
saber si dos nmeros son congruentes mdulo m. Afortunadamente, hay una manera equivalente de saberlo,
generalmente ms fcil de vericar que ir por la denicin, y la enunciamos a continuacin.

Proposicin 5.2. Sean a y b enteros, y m un entero positivo. Se tiene que


a m b m | (a b)
2. PROPIEDADES GENERALES DE LAS CONGRUENCIAS 59

Demostracin. Supongamos primero que a m b. Del Teorema de la Divisin, existen c1 , c2 , r1 , r2 Z


tales que a = c1 m + r1 y 0 r1 < m y 0 r2 < m. Restando miembro a miembro las
b = c2 m + r2 con
dos ecuaciones de divisin, tenemos que a b = (c1 c2 ) m + (r1 r2 ). Pero por ser a m b, tenemos que
r1 = r (a, m) = r (b, m) = r2 , por lo que r1 r2 = 0, con lo cual a b = (c1 c2 ) m, mostrando que m | (a b).
Recprocamente, supongamos que m | (a b). Existe entonces k Z tal que ab = km, es decir, a = b+km.
Luego,
r (a, m) = r (b + km, m) = r (r (b, m) + r (km, m) , m) = r (r (b, m) , m) = r (b, m)
de donde se tiene que a m b. 
Con este criterio, es fcil ver que 810 360 270, ya que 810 (270) = 1.080 = 3 360, es decir, 360 es un
factor de 810 (270).
La proposicin de arriba puede expresarse fcilmente en castellano: dos nmeros son congruentes mdulo
m si, y slo si, su diferencia es un mltiplo de m (o, lo que es lo mismo, a es congruente mdulo m con b si,
y slo si, a es igual a b ms un mltiplo de m). En virtud de la equivalencia con la denicin, muchos autores
adoptan directamente como denicin de congruencia mdulo m el hecho de que la diferencia sea mltiplo de
m, y estn en su pleno derecho de hacerlo. Sin embargo, aqu hemos preferido la denicin a travs de los restos,
por considerar que tiene un mayor grado de signicacin.
Veamos a continuacin algunas propiedades bsicas de las congruencias. Las tres primeras establecen que
la congruencia mdulo m es una relacin reexiva, simtrica y transitiva en el conjunto de los nmeros enteros.

Proposicin 5.3. a Z, a m a.
Demostracin. Para cualquier a Z, r (a, m) = r (a, m), por lo que a m a. 
Proposicin 5.4. a, b Z, a m b b m a.
Demostracin. a m b r (a, m) = r (b, m) r (b, m) = r (a, m) b m a. 
Proposicin 5.5. a, b, c Z, (a m b b m c) a m c.
Demostracin. (a m b b m c) (r (a, m) = r (b, m) r (b, m) = r (c, m)) r (a, m) = r (c, m)
a m c . 
Proposicin 5.6. Sean a, b Z y m Z+ . Supongamos que k es un entero positivo que es factor de m, y
que a m b. Entonces, tambin se tiene que a k b.
Demostracin. Si a m b, entonces m | (a b). Si k | m, por transitividad de la relacin de divisibilidad,
tenemos que k | (a b), de donde a k b. 
Proposicin 5.7. Sean a, b Z y m, k Z . Se tiene que a m b ka km kb.
+

Demostracin. a m b m | (a b) km | k (a b) km | (ka kb) ka km kb. 


Dado cualquier m Z+ , por la denicin de congruencia resulta obvio que si dos nmeros son iguales,
entonces son congruentes mdulo m (es lo que dice la proposicin 5.3). La recproca no es cierta en general,
pero s en una circunstancia especial, segn veremos a continuacin.

Proposicin 5.8. Sea m Z+ , y sean a, b Z tales que 0 a < m y 0 b < m. Se tiene que
a m b a = b.
Demostracin. Siendo a y b naturales menores que m, es r (a, m) = a y r (b, m) = b (proposicin 2.17).
De all que si a m b, entonces r (a, m) = r (b, m), y luego a = b. La implicacin recproca es directa de ver. 
La siguiente propiedad, vinculada al resultado que acabamos de ver, nos dice cul es el ms pequeo de los
naturales que es congruente mdulo m con un entero a dado.

Proposicin 5.9. Sean m Z+ y a Z. Entonces, r(a, m) es el nico entero entre 0 y m 1 que es


congruente a a mdulo m.

Demostracin. Por la proposicin 2.17, r(a, m) = r r(a, m), m , por lo que a m r(a, m). Para ver la
unicidad, supongamos que a m n para 0 n m 1. Por la proposicin 5.5, tenemos entonces que n m r ,
y siendo ambos naturales menores que m, resulta n = r (proposicin 5.8). 
En relacin a la proposicin anterior, muchos autores utilizan la expresin  x (mod m) para hacer referencia
al resto de la divisin de x por m. Algunos lenguajes de programacin usan la funcin mod (x, m) para designar
a tal resto.

Definicin 5.10. Un sistema completo de restos mdulo m es un conjunto de enteros tal que cualquier
entero es congruente mdulo m a exactamente un elemento del conjunto.
60 5. CONGRUENCIAS

De la proposicin 5.9, deducimos que, dado m Z+ , el conjunto {0, 1, . . . , m 1} es un sistema completo


de restos mdulo m. Otros ejemplos:

1. El conjunto {1, . . . , m 1, m}.


2. El conjunto {0, m + 1, 2m + 2, . . . , (m 1) m + (m 1)}
Y hay muchos ms (de hecho, son innitos). Todos ellos se caracterizan de acuerdo al siguiente resultado.

Proposicin 5.11. Sea M un subconjunto de nmeros enteros. Se tiene que M es un sistema completo de
restos mdulo m si, y slo si, M tiene exactamente m elementos que son dos a dos incongruentes mdulo m.
Demostracin. Supongamos que M es un sistema completo de restos mdulo m. Sean a y b elementos
de M, con a 6= b. Como a m a (proposicin 5.3), debe ser b 6m a (pues, de lo contrario, el entero a sera
congruente mdulo m a dos elementos de M ).
Si M tuviese ms de m elementos, al menos dos de ellos tienen el mismo resto cuando se los divide por m
(pues slo hay m posibles restos de una divisin por m), y esos elementos seran congruentes mdulo m, lo cual
no puede ser, por nuestro resultado anterior. Si M tuviese menos que m elementos, por la unicidad del resto
de la divisin, debera haber un x {0, . . . , m 1} tal que a M, r (a, m) 6= x. Luego, ningn nmero de M
sera congruente a x
m, contradiciendo el hecho de
mdulo que M es un sistema completo de restos mdulo m.
Luego, M m elementos.
posee exactamente
Para la vuelta, supongamos que M es un subconjunto de enteros que tiene exactamente m elementos que
son dos a dos incongruentes mdulo m. Esto quiere decir que, M por m, se
cuando se divide cada elemento de
obtienen todos los restos posibles, es decir, todos los nmeros entre m 1. Sea a Z. De la proposicin 5.9,
0 y
es a m r (a, m). Y por lo que dijimos, existe un nico x M tal que x m r (a, m). Luego, a m x para un
nico x M . De all que M es un sistema completo de restos mdulo m. 
Ejemplos de conjuntos que no son sistemas completos de restos mdulo m:
1. El conjunto {1, . . . , m 1}, porque tiene m 1 elementos (obsrvese adems que los mltiplos de m no
son congruentes mdulo m a ningn elemento del conjunto).
2. El conjunto {0, 1, . . . , m 1, m}, porque tiene m + 1 elementos (notar que los mltiplos de m son
congruentes a ms de un elemento del conjunto, a saber, a 0 y a m).

2.1. Congruencias y operaciones aritmticas. Veremos ahora el comportamiento de las congruencias


frente a distintas operaciones aritmticas. El primer resultado nos dice que se puede sumar, en ambos miembros
de una congruencia, un mismo nmero, y la congruencia se sigue manteniendo, y que lo mismo vale para el
producto.

Lema 5.12. Sean a, b, c Z y m Z+ . Si a m b, entonces a + c m b + c y ac m bc.


Demostracin. Por ser a m b, tenemos que existe k Z tal que a b = km (proposicin 5.2). Por lo
tanto, (a + c) (b + c) = km y ac bc = (kc) m. De aqu que, de nuevo por la proposicin 5.2, es a + c m b + c
y ac m bc. 
Ahora veamos que las congruencias mdulo un mismo nmero pueden sumarse miembro a miembro, o
multiplicarse miembro a miembro, sin alterar la congruencia. Lo haremos para el caso de dos congruencias, y
una simple induccin permite extender el resultado al caso en que se tienen varias congruencias (recalquemos
que todas deben ser mdulo un mismo nmero).

Teorema 5.13. Sean a, b, c, d Z y m Z+ . Si a m b y c m d, entonces a + c m b + d y ac m bd.


Demostracin. Por ser a m b y c m d, tenemos que a + c m b + c y que b + c m b + d (lema 5.12),
y entonces, por la proposicin 5.5, tenemos que a + c m b + d. Tambin del lema 5.12 es ac m bc y bc m bd,
de donde ac m bd. 
Corolario 5.14. Sean a, b Z y m Z+ . Si a m b, entonces n Z+ , an m bn .
Demostracin. Por induccin sobre n. El caso n = 1 sale directamente de la hiptesis, as que veamos
el paso inductivo. Supongamos que an m bn . Como por hiptesis es a m b, del teorema 5.13 tenemos que
an a m bn b, es decir, an+1 m bn+1 . 
Corolario 5.15. Sean a, b, c0 , c1 , c2 , . . . , ck Z y m Z+ . Si a m b, entonces c0 + c1 a + c2 a2 + +
ck a m c0 + c1 b + c2 b + + ck bk .
k 2

Demostracin. Por induccin sobre k (la cantidad de sumandos). Para k = 0, debemos probar que
c0 m c0 , lo cual es cierto por la proposicin 5.3. Ahora supongamos que c0 +c1 a+c2 a2 + +ck ak m c0 +c1 b+
c2 b2 + +ck bk . Ya que a m b, del lema 5.12 y el corolario 5.14, tenemos que ck+1 ak+1 m ck+1 bk+1 , as que, por
2 k k+1
el teorema 5.13, concluimos que c0 +c1 a+c2 a + +ck a +ck+1 a m c0 +c1 b+c2 b2 + +ck bk +ck+1 bk+1 . 
2. PROPIEDADES GENERALES DE LAS CONGRUENCIAS 61

Los resultados anteriores nos muestran que el parecido entre y = no es slo tipogrco, sino tambin fun-
cional: tanto las igualdades como las congruencias se preservan por suma o multiplicacin de ambos miembros
por un mismo nmero, suma o multiplicacin miembro a miembro, o elevacin miembro a miembro a cual-
quier potencia entera positiva. Incluso hemos visto indirectamente que, en una congruencia, podemos cancelar
trminos, as como podamos hacerlo en las igualdades: a + c m b + c a + c + (c) m b + c + (c) a m b.
Sin embargo, hay algo que siempre podemos hacer en una igualdad, pero no siempre en una congruencia:
cancelar factores no nulos. Por ejemplo, 4 5 6 4 2 20 8 es mltiplo de 6), pero si cancelamos el factor
(pues
4 nos quedara 5 6 2, que evidentemente es falso ya que 5 2 no es mltiplo de 6. La divisin de congruencias
miembro a miembro adolece del mismo tipo de dicultades: 8 4 12 y 2 4 6 pero (8/2) 64 (12/6) pues 4 64 2.
Qu es lo que est pasando como para impedirnos la ley cancelativa en el producto? Veamos. Supongamos
que ka m kb. Luego, m | k (a b). Si quisiramos probar que a m b, deberamos ver que m | a b. Si k y
m no son coprimos (que es lo que pasaba en nuestro ejemplo de ms arriba), la divisibilidad de k (a b) por
m k , y no necesariamente deduciramos que
puede ser debida a la presencia del factor m | (a b), con lo cual
la conclusin de que a m b podra ser errnea. Lo que s podemos asegurar es el siguiente resultado, que nos
dice que en la congruencia ka m kb siempre podemos cancelar el factor k , a condicin de que pasemos de una
m
congruencia mdulo m a una congruencia mdulo
mcd(k,m) .

Proposicin 5.16. Sean k, a, b Z y m Z+ . Hagamos d = mcd (k, m). Si ka m kb, entonces a md b.


Demostracin. Supongamos que ka m kb. Existe t Z tal que k (a b) = mt. Por lo tanto, kd (a b) =
m k m m
d t. Ya que d y d son coprimos (corolario 3.19), se sigue que
d | (a b) (teorema 3.20), y entonces a d b. 
m

Corolario 5.17. Sean k, a, b Z y m Z+ . Si ka m kb y adems k y m son coprimos, entonces a m b.


Podemos combinar, de alguna manera, congruencias entre dos nmeros si las congruencias tienen diferentes
mdulos? Es decir, suponiendo que a m1 b y que a m2 b, podemos deducir, en base a sto, una nica
congruencia que relacione a a, b, m1 y m2 ?
Teorema 5.18. Sean a, b Z y m1 , m2 Z+ . Se tiene que (a m1 b a m2 b) a mcm(m1 ,m2 ) b.
Demostracin. Primero supongamos a m1 b y a m2 b. Entonces tenemos que m1 | (a b) y m2 |
(a b), es decir, ab es un mltiplo comn de m1 y m2 . Luego, por el teorema 3.34, deducimos que mcm (m1 , m2 )
es factor de a b, lo que implica que a mcm(m1 ,m2 ) b.
Para la implicacin recproca, ya que m1 y m2 son factores de mcm (m1 , m2 ), de la proposicin 5.6 deducimos
que si a mcm(m1 ,m2 ) b, entonces a m1 b y a m2 b. 
Corolario 5.19. Para k 2, sean a, b Z y m1 , m2 , . . . , mk Z+ tales que m1 , m2 , . . . , mk son dos a
dos coprimos. Se tiene que (a m1 b a m2 b . . . a mk b) a m1 m2 mk b.
Demostracin. Por induccin sobre k . El caso k = 2 sale del teorema 5.18, con la consideracin de que
si m1 es coprimo conm2 , entonces mcm (m1 , m2 ) = m1 m2 (lema 3.36). Supongamos el enunciado vlido para
k , es decir, (a m1 b a m2 b . . . a mk b) a m1 m2 mk b toda vez que m1 , m2 , . . . , mk son dos a dos
coprimos. Tomemos m1 , m2 , . . . , mk , mk+1 dos a dos coprimos. Tenemos que m1 , m2 , . . . , mk son dos a dos
coprimos y que mk+1 es coprimo con m1 m2 mk , por lo que mcm (m1 m2 mk , mk+1 ) = m1 m2 mk mk+1 .
De all que, por el teorema 5.18 y la hiptesis inductiva, se tiene que

a m1 m2 mk mk+1 b a mcm(m1 m2 mk ,mk+1 ) b a m1 m2 mk b a mk+1 b

a m1 b a m2 b . . . a mk b a mk+1 b
segn se deseaba demostrar. 
2.2. Aplicacin a la deduccin de criterios de divisibilidad. Veremos ahora cmo las congruencias
nos permiten demostrar, de manera alternativa a la empleada en el captulo 2, la validez de ciertos criterios
de divisibilidad conocidos, y la deduccin de otros. Para ello, nos basaremos fuertemente en el corolario 5.15,
que, en denitiva, asevera que si f (x) es una funcin polinmica a coecientes enteros y a m b, entonces
f (a) m f (b).
En lo que sigue, N representar un nmero natural de k + 1 dgitos, siendo stos, de derecha a izquierda,
Pk
a0 , a1 , . . ., ak , de modo que N = j=0 aj 10j . Podemos incluso suponer que hay dgitos 0 a la izquierda, de
modo que no necesariamente es ak 6= 0, pero esto no cambiar en nada nuestro anlisis.
2.2.1. Divisibilidad por 3 y por 9. SupongamosP que queremos saber si N es o no mltiplo de 3. Denamos,
k j
para eso, el polinomio a coecientes enteros f (x) = j=0 aj x . Claramente, tenemos que f (10) = N . Adems,
f (1) = a0 + a1 + + ak , es decir, f (1) es la suma de los dgitos de N . Como 10 3 1, del corolario 5.15 tenemos
que f (10) 3 f (1), es decir, N 3 a0 + a1 + + ak . As que el resto de dividir N por 3 es el mismo que el de
dividir a0 + a1 + + ak por 3. Esto nos dice entonces que N es divisible por 3 si, y slo si, a0 + a1 + + ak
es un mltiplo de 3.
62 5. CONGRUENCIAS

Notando que adems es 10 9 1, deducimos tambin que N 9 a0 + a1 + + ak , por lo que el resto de


dividir N por 9 es el mismo que el de dividir a0 + a1 + + ak por 9. De all que N es divisible por 9 si, y slo
si, a0 + a1 + + ak es un mltiplo de 9.
2.2.2. Divisibilidad
Pk
por 11. Observando que 10 11 1, nos damos cuenta de que podemos usar de nuevo
j k
el polinomio f (x) = j=0 aj x del siguiente modo: ya que f (1) = a0 a1 +a2 +(1) ak , por el corolario
k
5.15 resulta que N 11 a0 a1 + a2 + (1) ak . N es divisible por 11 si, y slo si, la suma de los
Luego,
dgitos de N, pero con signos alternados (empezando con + el de la derecha), es mltiplo de 11. Por ejemplo,
71,328,459 no es mltiplo de 11 pues 9 5 + 4 8 + 2 3 + 1 7 = 7 no es mltiplo de 11. El nmero 70.411
es mltiplo de 11, ya que 1 1 + 4 0 + 7 da 11, que es mltiplo de 11.
2.2.3. Divisibilidad por 7. Si tratamos de seguir el mismo camino
Pk
que en los casos anteriores para encontrar
j
un criterio de divisibilidad por 7 a travs del polinomio f (x) = j=0 j x , podemos comenzar planteando que
a
10 7 3, de modo que N es divisible por 7 si, y slo si, f (3) es mltiplo de 7. Rpidamente nos damos cuenta de
que esto no nos lleva por buen camino, pues la evaluacin de f (3) puede ser ms tediosa que realizar directamente
la divisin de N por 7. Cambiemos entonces de estrategia. En vez de plantear congruencias mdulo 7, hagamos
congruencias mdulo un mltiplo adecuado de 7. Un mltiplo adecuado es 7 11 13 = 1.001. Qu tiene de
3
adecuado? Que 10 1.001 1, siendo 1 un nmero en el cual es relativamente fcil evaluar polinomios a
3
coecientes enteros, y 10 una potencia de 10, lo cual ser til para acomodar la expresin de N a partir de sus
dgitos de la siguiente manera:

N = a0 + 10a1 + 102 a2 + 103 a3 + 104 a4 + 105 a5 + 106 a6 + 107 a7 + 108 a8 +


= (100a2 + 10a1 + a0 ) + (100a5 + 10a4 + a3 ) 103 + (100a8 + 10a7 + a6 ) 106 +
Hagamos entonces g (x) = (100a2 + 10a1 + a0 ) + (100a5 + 10a4 + a3 ) x + (100a8 + 10a7 + a6 ) x2 + , que
es un polinomio a coecientes enteros. Obviamente, es N = g 103 , y, por otro lado,
g (1) = (100a2 + 10a1 + a0 ) (100a5 + 10a4 + a3 ) + (100a8 + 10a7 + a6 )
3
Siendo 10 1.001 1, deducimos que

N 1.001 (100a2 + 10a1 + a0 ) (100a5 + 10a4 + a3 ) + (100a8 + 10a7 + a6 )


Llamemos M = (100a2 + 10a1 + a0 )(100a5 + 10a4 + a3 )+(100a8 + 10a7 + a6 ) . Qu representa esta
expresin? Es lo que queda de separar la expresin decimal de N en bloques de a tres dgitos (empezando por la
derecha, y pudiendo quedar el bloque de ms a la izquierda con menos de tres dgitos), considerar cada bloque
como un nmero individual, y sumar los nmeros correspondientes a cada bloque, con trminos alternados (el
de la derecha comienza con signo +), segn el siguiente esquema:
+ N3 N2 + N1
z }| { z }| { z }| {
. a8 a7 a6 . a5 a4 a3 . a2 a1 a0
Ahora bien, dado que 1.001= 7 11 13 y que 7, 11 y 13 son dos a dos coprimos, del corolario 5.19 tenemos
que N 7 M , N 11 M y N 13 M , pues ya hemos deducido que N 1.001 M . Luego, N es divisible por 7 si,
y slo si, M es mltiplo de 7. De pasada, hemos encontrado otro criterio para divisibilidad por 11 (que M sea
mltiplo de 11) y uno para divisibilidad por 13 (que M sea mltiplo de 13).

Ejemplo 5.20. Analicemos si los nmeros 55.233.367 y 1.128.338.783 son mltiplos de 7, 11 o 13.
Descomponiendo al primero en bloques de a tres, nos quedan los nmeros 55, 233 y 367. Sumndolos con
signos alternados resulta 367 233 + 55 = 189 = 33 7, que es mltiplo de 7 pero no de 11 ni de 13. Entonces,
55.233.367 es mltiplo de 7 pero no de 11 ni de 13.
Para el segundo, la descomposicin en bloques de a tres arroja los nmeros 1, 128, 338 y 783. Sumndolos
con trminos alternados resulta 783 338 + 128 1 = 572 = 22 11 13. Se ve entonces que 1.128.338.783 es
mltiplo de 11 y de 13, aunque no de 7. 
2.2.4. Divisibilidad por potencias de 2. Sean i y j enteros positivos, con j i. Dado que 10 = 5 2, se tiene
que 10j = 5j 2j , por lo que, siendo i j, resulta que 2i | 10j (teorema 4.7). Por lo tanto, 10j 2i 0, cualesquiera
sean los enteros positivos j i.
Supongamos que queremos saber si N es divisible por alguna potencia de 2, digamos por 2i , con i 1.
Podemos suponer que N tiene al menos i dgitos (pues completamos con ceros a la izquierda, si hace falta), es
Pk j
Pi1 j
Pk j
decir, podemos suponer que k i 1. Entonces, N = j=0 aj 10 = j=0 aj 10 + j=i aj 10 . Por nuestro
i
anlisis de ms arriba, cada trmino de la segunda sumatoria es congruente mdulo 2 con 0, de modo que,
Pk Pi1 
por el teorema 5.13, se tiene que j=i aj 10j 2i 0, y, por lo tanto, N 2i j=0 aj 10j . Es decir, r N, 2i =
P 
i1 j i i
r j=0 aj 10 , 2 . En otras palabras, N es divisible por 2 si, y slo si, los i dgitos de la derecha en la
expresin decimal de N 2i . Los casos i = 1, i = 2 e i = 3 corresponden,
representan un nmero divisible por
respectivamente, a los conocidos criterios de divisibilidad por 2, por 4 y por 8 (por ejemplo, para divisibilidad
por 8 basta vericar si las tres ltimas cifras de N representan un nmero divisible por 8).
3. ECUACIONES DE CONGRUENCIA 63

Ejemplo 5.21. Encontrar la mxima potencia de 2 que es factor de 156.194.848.


De acuerdo a nuestro criterio, comenzando con i = 1, vamos considerando las i cifras de la derecha del
i
nmero dado, y vemos si el nmero t que representan es mltiplo de 2 . Lo resumimos en la siguiente tabla:

i 2i t r t, 2i
1 2 8 0
2 4 48 0
3 8 848 0
4 16 4.848 0
5 32 94.848 0
6 64 194.848 32
Por lo tanto, 32 es la mxima potencia de 2 por la que es divisible el nmero 156.194.848. 

3. Ecuaciones de congruencia

Supongamos que f (x) y g (x) son funciones enteras en la variable entera x, y que m Z+ . Por ejemplo,
5 2
f (x) = 2x 3x , g (x) = x + 1, y m = 7. Tiene sentido interpretar a x como incgnita, y preguntarse cules
son todos los enteros x tales que f (x) m g (x). Tales ecuaciones se denominan ecuaciones de congruencia en
la variable x. Veremos a continuacin un tipo bsico de ecuaciones de congruencia.
3.1. Ecuacin lineal de congruencia en una variable. Son las de la forma ax m b, con a, b Z y
m Z+ , y donde x es incgnita entera. Por la proposicin 5.2, se tiene que ax m b si, y slo si, existe y Z
tal que b ax = my . Hemos cado entonces en la resolucin de la ecuacin lineal diofantina ax + my = b, en
las variables x e y . Del teorema 3.38, sabemos que tiene solucin si, y slo si, b es mltiplo de mcd (a, m). Por
lo tanto, la ecuacin ax m b tiene solucin si, y slo si, b es mltiplo de mcd (a, m).
Notemos que, en caso de existir c Z tal que b = c mcd (a, m), para resolver la ecuacin diofantina
sin apelar al tanteo, primero debemos encontrar s, t Z tales que sa + tm = mcd (a, m). Luego multiplicamos
miembro a miembro por c, quedando (sc) a+m (tc) = b, es decir, (sc) ab = m (tc), y entonces (sc) a m b; vale
decir, una solucin a la congruencia es x0 = sc. Las soluciones de la ecuacin de congruencia son exactamente
las primeras componentes de los pares (x, y) que son solucin de la ecuacin diofantina. Entonces, por aplicacin
del teorema 3.39, tenemos que el conjunto solucin de ax m b es el conjunto
 
m
x0 + n :nZ
mcd (a, m)
Si una ecuacin lineal de congruencia tiene solucin x0 , la solucin no negativa ms pequea que tiene la
congruencia es r (x0 , m), pues siendo x0 m r (x0 , m) (proposicin 5.9), tenemos que b m ax0 m ar (x0 , m)
(lema 5.12).
Resumamos todo en el siguiente resultado.

Teorema 5.22. Sean a, b Z, y m Z+ . La ecuacin lineal de congruencia ax m b tiene solucin si,


y slo si, b es mltiplo de mcd (a, m). Si tiene solucin x0 , tiene innitas soluciones, que son los nmeros
congruentes a x0 mdulo m/mcd (a, m), y al menos una de ellas es un entero entre 0 y m 1.
Ejemplo 5.23. Encontrar el conjunto solucin de 5x 10 7.
Tenemos que a = 5, b = 7, m = 10. Resulta mcd (a, m) = 5, que no es factor de b. Luego, la ecuacin lineal
de congruencia no tiene solucin. 
Ejemplo 5.24. Encontrar el conjunto solucin de 6x 9 21.
Ahora es a = 6, b = 21, m = 9, con mcd (a, m) = 3, que es factor de b. Por lo tanto, buscamos una solucin
cualquiera a la congruencia. El tanteo nos permite inmediatamente ver que x0 = 5 6 5 21 es
es solucin, pues
mltiplo de 9. Entonces, las soluciones de la congruencia son todos los enteros de la forma con n Z.
5 + 3n,
Esos nmeros son . . . , 4, 1, 2, 5, 8, 11, 14, 17, . . . Algunas soluciones son entre s congruentes mdulo 9, y otras
no. Por ejemplo, 4 9 5, 8 9 17, 2 69 5 69 8. En particular, vemos que hay exactamente tres soluciones en el
rango 0, . . . , m 1. 
Ejemplo 5.25. Encontrar el conjunto solucin de 127x 250 6.
Tenemos a = 127, b = 6, m = 250. Ya que 6 es mltiplo de mcd (127, 250) = 1, la congruencia tiene
solucin. El tanteo resulta difcil, as que calculemos usando el algoritmo extendido de Euclides, invocando
euclext (127, 250). Obviando detalles, el resultado de la invocacin es (63, 32, 1). En particular, s = 63. Como
b/mcd (a, m) = 6, una solucin a la congruencia es r (6 63, 250) = 128. Entonces, las soluciones de la congruencia
son los enteros de la forma 128 + 250n para n Z, es decir, . . . , 122, 128, 378, 628, . . . Veamos que, en este
caso, dos soluciones cualesquiera son congruentes mdulo 250: si x1 y x2 son soluciones, deben existir enteros n1
y n2 tales que x1 = 128 + 250n1 y x2 = 128 + 250n2 , de donde x1 x2 = 250 (n1 n2 ); ya que 250 | (x1 x2 )
se tiene que x1 250 x2 . 
64 5. CONGRUENCIAS

Dada una ecuacin lineal de congruencia ax m b que tiene innitas soluciones, cules de ellas son in-
congruentes entre s, mdulo m? De nuestros dos ltimos ejemplos, vemos que, para algunas ecuaciones, todas
las soluciones son congruentes mdulo m, y para otras hay soluciones que no son congruentes mdulo m. Los
siguientes resultados clarican el interrogante.

Lema 5.26. Sean a, b, x0 , n1 , n2 Z, y m Z . Llamemos x1 = x0 + n1 m/mcd (a, m) y x2 = x0 + n2


+

m/mcd (a, m). Se tiene que x1 m x2 si, y slo si, n1 mcd(a,m) n2 .


Demostracin. Establezcamos d = mcd (a, m). Si x1 m x2 , existe k Z tal que (x0 + n1 m/d)
(x0 + n2 m/d) = km. Cancelando, se tiene que n1 /d n2 /d = k , es decir, n1 n2 = kd, lo que muestra
m m
que n1 d n2 . Recprocamente, si n1 d n2 , de la proposicin 5.7, tenemos que
d n1 d d d n2 , y de all
m

x0 + m n
d 1 x
m 0 + m
n
d 2 , es decir, x 1 x
m 2 . 
Teorema 5.27. Supongamos que la ecuacin ax m b admite solucin x0 . Entonces, los elementos del
conjunto I = {x0 + n m/mcd (a, m) : 0 n < mcd (a, m)} son soluciones de la ecuacin que son dos a dos
incongruentes mdulo m. Adems, cualquier solucin de la ecuacin es congruente mdulo m a algn elemento
de I .
Demostracin. Hagamos d = mcd (a, m). Eligiendo n1 , n2 {0, . . . , d 1} con n1 6= n2 , se tiene que
n1 6d n2 (x0 + n1 m/d) y (x0 + n2 m/d) pertenecen a I , son soluciones de la
(proposicin 5.8), de modo que
congruencia (teorema 5.22), y son incongruentes mdulo m (lema 5.26).
0 0 0 0
Si x es cualquier solucin de la congruencia, debe ser x = x0 + n m/d, para algn n Z. Tomemos
n = r (n , d), y hagamos x = x0 + n m/d. Tenemos que 0 n < d, y entonces x I . Como n0 d n, del lema
0
0
5.26 se tiene que x m x. 
3.2. Congruencias simultneas, y el Teorema Chino del Resto. Hace muchos, pero muchos aos,
Encontrar un nmero tal que cuando se lo divide por 14 produce
los chinos se divertan con acertijos del estilo 
resto 9, cuando se lo divide por 15 produce resto 1, y cuando se lo divide por 17 produce resto 12 (y bueno...
no haban sido inventados todava los Power Rangers ni Internet; y tal vez por eso mismo ahora los chinos son
tantos!). Este acertijo puede representar una situacin real: Tengo una cierta cantidad de caramelos de modo
que cuando los distribuyo entre 14 personas sobran 9, si los reparto entre 15 sobra 1, y si los distribuyo entre 17
personas, sobran 12 caramelos; cuntos caramelos tengo entonces?  En nuestro lenguaje de las congruencias,
tal acertijo se enuncia as: encontrar un nmero x tal que, simultneamente, x 14 9, x 15 1, y x 17 12.
Estamos en presencia de un sistema de congruencias simultneas, que son aquellos formados por congruencias
de la forma x m1 a1 , x m2 a2 , . . ., x mk ak en las que hay una incgnita x, y los mdulos de las distintas
congruencias son diferentes. Se pretende entonces encontrar todos los valores enteros de x que satisfacen todas
las congruencias simultneamente.
Hay siempre solucin para un sistema de congruencias simultneas?

Ejemplo 5.28. Encontrar x tal que simultneamente satisfaga x 2 0 y x 4 1 .


Por la proposicin 5.2, un entero que satisface la primera de las congruencias debe ser un nmero par.
Para satisfacer la segunda, debe ser x = 1 + 4n para algn n Z, y entonces debe ser x impar. Queda claro
entonces que ningn entero satisface al mismo tiempo las dos congruencias, por lo que no hay solucin para las
congruencias simultneas. 
Ejemplo 5.29. Encontrar x tal que simultneamente satisfaga x 4 3 y x 7 1 .
Para que la primera congruencia sea cierta, debe ser x 3 un mltiplo de 4, es decir, x = 3 + 4n para n Z.
Por eso, los enteros que satisfacen la primera congruencia son los del conjunto

{. . . 41, 37, 33, 29, 25, 21, 17, 13, 9, 5, 1, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, . . .}
Anlogamente, el conjunto solucin de la segunda congruencia es

{. . . 48, 41, 34, 27, 20, 13, 6, 1, 8, 15, 22, 29, 36, 43, . . .}
Viendo los elementos comunes a ambos conjuntos, deducimos que, por ejemplo, 41 es una solucin al
sistema. Otras son 13, 15 y 43. De este tanteo, no queda claro si hay innitas soluciones, pero vemos que
soluciones consecutivas encontradas dieren en 28, que es el producto de los mdulos de las congruencias del
sistema. 
Hay un caso bsico de congruencias simultneas: el caso en que se tiene un sistema de dos congruencias. La
bsqueda de soluciones se establece en el siguiente resultado.

Lema 5.30. Sean a1 , a2 Z, y sean m1 , m2 Z+ . El sistema de congruencias



x m1 a1
x m2 a2
tiene solucin en x si, y slo si, a1 a2 es un mltiplo de mcd (m1 , m2 ). Cuando admite solucin x0 , el conjunto
solucin del sistema es el conjunto de todos los enteros congruentes mdulo mcm (m1 , m2 ) con x0 .
3. ECUACIONES DE CONGRUENCIA 65

Demostracin. Un entero x es solucin de la segunda congruencia si, y slo si, existe k Z tal que
x = a2 + km2 . Luego, el sistema tiene solucin si, y slo si, existe k Z tal que a2 + km2 m1 a1 , o
equivalentemente, m2 k m1 a1 a2 . Esta es una congruencia lineal en la variable k que admite solucin si, y
slo si,mcd (m1 , m2 ) | (a1 a2 ) (teorema 5.22), con lo que queda probada la primera armacin.
Supongamos ahora que el sistema tiene solucin x0 . Debe ser x0 = a2 + k0 m2 para algn entero k0 que
satisfaga la congruencia m2 k m1 a1 a2 . Sabemos que todas las soluciones de esta ltima son de la forma
k0 + n m1 /mcd (m1 , m2 ) con n Z (teorema 5.22), por lo que el conjunto solucin del sistema es
     
m1 m1 m2
a2 + k0 + n m2 : n Z = a2 + k0 m2 + n :nZ
mcd (m1 , m2 ) mcd (m1 , m2 )
= {x0 + n mcm (m1 , m2 ) : n Z}
es decir, el conjunto de todos los enteros congruentes mdulo mcm (m1 , m2 ) a x0 . 
Volviendo al ejemplo 5.28, tenemos a1 = 0, a2 = 1, m1 = 2 y m2 = 4. El sistema no tiene solucin, pues no se
cumple la condicin necesaria y suciente dada en el lema: a2 a1 = 1, que no es mltiplo de mcd (m1 , m2 ) = 2.
En relacin al ejemplo 5.29, es a1 = 3, a2 = 1, m1 = 4 y m2 = 7. Ya que a2 a1 = 2 y mcd (m1 , m2 ) = 1, se
satisface la condicin dada en el lema 5.30, y el sistema admite solucin, tal como ya hemos visto. Sabiendo que
una de ellas es 41, del lema podemos concluir que el conjunto solucin est formado por todos los nmeros de
la forma 41 + 28n, pues mcm (4, 7) = 28.
Y qu pasa si tenemos ms de dos congruencias simultneas? Por fortuna, hay un resultado que, basado en
el lema anterior, establece una condicin suciente para que el sistema admita solucin, y que adems caracteriza
a las soluciones en caso de haberlas. Sera inadmisible que el nombre de tal resultado no haga referencia a la
China que origin el problema.

Teorema 5.31. (Teorema Chino del Resto) Dado k 1, sean m1 , m2 , . . ., mk Z+ dos a dos
coprimos, y a1 , a2 , . . ., ak Z. Entonces, el sistema de congruencias x m1 a1 , x m2 a2 , . . . , x mk ak admite
solucin x0 tal que 0 x0 < m1 m2 mk . El conjunto solucin del sistema es el conjunto de todos los enteros
que son congruentes a x0 mdulo m1 m2 mk .
Demostracin. Desglosaremos la prueba en dos partes.

1. Primero demostremos que el sistema admite solucin, por induccin sobre k (la cantidad de congruencias
en el sistema).
Si hubiese una sola congruencia, basta con tomar x = a1 , que obviamente satisface al sistema.
Supongamos ahora que todo sistema con k congruencias de mdulos dos a dos coprimos admi-
te solucin. Consideremos el sistema x m1 a1 , x m2 a2 , . . . , x mk ak , x mk+1 ak+1 , con
m1 , . . . , mk , mk+1 dos a dos coprimos. De la hiptesis inductiva, sabemos que existe x00 tal que
x00 m1 a1 , x00 m2 a2 , . . . , x00 mk ak . Consideremos el siguiente sistema de dos congruencias:
x m1 mk x00

(*)
x mk+1 ak+1
Siendo mk+1 coprimo con m1 , . . . , mk es mcd (m1 mk , mk+1 ) = 1, y entonces se satisface la
condicin necesaria y suciente del lema 5.30 para existencia de solucin al sistema (*), pues 1 es
un factor dex00 ak+1 . Sea z una solucin del mismo. Entonces, se cumple que z mk+1 ak+1 y
0 0 0
que z m1 mk x0 . De esta ltima, tenemos, de la proposicin 5.6, que z m1 x0 , . . . , z mk x0 , y
0 0
como x0 m1 a1 , . . . , x0 mk ak , se deduce que tambin es z m1 a1 , . . . , z mk ak . Es decir, z es
una solucin al sistema de k + 1 congruencias.
2. En el tem anterior, hemos mostrado que si m1 , . . . , mk son dos a dos coprimos, el sistema de con-
gruencias x m1 a1 , x m2 a2 , . . . , x mk ak admite solucin w . Llamemos x0 = r (w, m1 mk ). Ya
que x0 m1 mk w , tenemos, por la proposicin 5.6, que x0 m1 w m1 a1 , . . . , x0 mk w mk ak , y
entonces x0 es solucin al sistema de k congruencias que satisface 0 x0 < m1 mk .
Por otro lado, por la transitividad de las congruencias y por el corolario 5.19, para cualquier entero
y se tiene que

(y m1 a1 . . . y mk ak ) (y m1 x0 . . . y mk x0 ) y m1 mk x0
Es decir, el conjunto solucin del sistema de congruencias es el conjunto de todos los enteros que
son congruentes mdulo m1 mk con x0 . Esto completa la demostracin del teorema.


En la demostracin del Teorema Chino (ms precisamente, en el paso inductivo), tenemos implcito un
mecanismo recursivo para encontrar una solucin al sistema. Todo lo que hay que hacer es saber resolver
sistemas de dos congruencias y, en base a ello, ir armando nuevas congruencias. La resolucin de sistemas de
dos congruencias necesita a su vez de la resolucin de ecuaciones lineales de congruencia, y es mejor hacer sto
66 5. CONGRUENCIAS

a travs del algoritmo extendido de Euclides, como se explic en la seccin correspondiente, pues el tanteo ser
casi seguramente muy engorroso. A continuacin, ejemplicamos la ejecucin del mtodo.

Ejemplo 5.32. Encontrar un nmero x tal que, simultneamente, verique x 14 9, x 15 1, x 17 12 y


x 23 20.
Tras vericar que los mdulos de las congruencias son dos a dos coprimos, nos abocamos a la bsqueda de
solucin.

1. Encontramos una solucin a la primera congruencia. Es fcil: x00 = 9.


2. Ahora resolvemos el sistema de dos congruencias x 14 9, x 15 1. Esto
nos lleva a la bsqueda de t
tal que 1 + 15t 14 9, es decir, 15t 14 8. Una solucin a esta congruencia lineal es t0 = 8. Calculamos
x00 = 1 + 15 8 = 121 (que es una solucin a las dos primeras congruencias) y formamos una nueva
congruencia: x 210 121 (el mdulo es 210 porque 14 15 = 210).
3. Ahora resolvemos el sistema de dos congruencias x 210 121, x 17 12. Esto nos lleva a la bsqueda de
t tal que 12 + 17t 210 121, es decir, 17t 210 109. Una solucin a esta congruencia lineal es t0 = 167.
0
Calculamos x0 = 12 + 17 167 = 2.851 (que es solucin a las tres primeras congruencias) y formamos
una nueva congruencia: x 3.570 2.851 (el mdulo es 3.570 porque 210 17 = 3.570).
4. Finalmente resolvemos el sistema de dos congruencias x 3.570 2.851, x 23 20. Esto nos lleva a la
bsqueda de t tal que 20 + 23t 3.570 2.851, es decir, 23t 3.570 2.831. Una solucin a esta congruencia
0
lineal es t0 = 2.917. Calculamos x0 = 20 + 23 2.917 = 67.111.

Entonces, una solucin al sistema propuesto es 67.111, lo cual se puede vericar por clculo directo. Adems,
observemos que 14 15 17 23 = 82.110, de modo que la solucin encontrada est dentro del rango que asegura
el Teorema Chino del Resto (esto tiene que ver con que, en cada paso, hemos ido calculando t0 positivo lo ms
chico posible, y con que de entrada tenamos 0 ai < mi para i = 1, 2, 3, 4). Todas las soluciones del sistema
son los nmeros de la forma 67.111 + 82.110n, con n Z. 
Escribiremos a continuacin el extenso algoritmo para resolver congruencias simultneas, en notacin funcio-
nal. Habr una funcin auxiliar, res2cong (a1 , a2 , m1 , m2 ), para resolver el sistema de dos congruencias x m1 a1 ,
x m2 a2 , y que quedar indenido en el caso en que las dos congruencias no cumplan la condicin necesaria
y suciente del lema 5.30; sa ser la manera en que el algoritmo nos indicar que un sistema no admite solu-
cin. La funcin principal se llamar chino, que recibir, como argumentos, las listas de nmeros {a1 , . . . , ak }
y {m1 , . . . , mk }, entendindose por sto que se desea resolver el sistema de k congruencias x m1 a1 , x m2 a2 ,
. . ., x mk ak . Si al ejecutarse el algoritmo se invoca a res2cong y ste queda indenido, se debe interrumpir la
ejecucin, con la conclusin de que no hay solucin al sistema.

res2cong (a1 , a2 , m1 , m2 ) =
sea (s, t, g) = euclext(m2 , m1 )
sea (c, r) = crent(a1  a2 , g) 
si (r = 0) contestar r a2 + m2 sc, m1gm2

chino ({a1 , . . . , ak } , {m1 , . . . , mk }) =


si (k = 1) contestar a1
sino contestar chino ({res2cong (a1 , a2 , m1 , m2 ) , a3 , . . . , ak } , {m1 m2 , m3 , . . . , mk })
Cortito, no? Lo bueno, si breve...

4. Aspectos algebraicos de la congruencia: aritmtica modular

La proposicin 5.9 tiene una gran importancia en el siguiente sentido: ya que todo entero a es congruente
mdulo m a r (a, m), 0 y m 1, toda vez que hagamos operaciones entre enteros, stas
que es un nmero entre
sern tambin congruentes a un nmero entre 0 y m 1. Por ejemplo, 5 8 + 4 3 2, y 2 2 + 1 3 2. Notemos
que 5 3 2, 8 3 2 y 4 3 1. De este modo, las expresiones 5 8 + 4 y 2 2 + 1, si bien distintas como nmeros
enteros, son congruentes mdulo 3 a un mismo nmero del conjunto {0, 1, 2}.
Haciendo operaciones entre enteros, y tomando en cada paso el resto de la divisin por m, produciremos
un nmero entre 0 y m 1. Y el nmero producido ser congruente mdulo m al resultado de aquella misma
operacin en enteros. Tiene sentido denir entonces un sistema aritmtico en el que slo existan los nmeros
enteros desde 0 hasta m 1, y en el cual las operaciones bsicas de suma y producto sean los resultados de
hacer esas mismas operaciones en Z y tomar resto de la divisin por m. En tal sistema, la congruencia mdulo
m es naturalmente sustituida por la igualdad. El teorema 5.13 nos garantiza que las igualdades (en este nuevo
sentido) se comportan como uno espera.

Definicin 5.33. Para m Z+ , denimos el conjunto Zm como el conjunto de todos los enteros mayores o
iguales que 0 y menores que m. En Zm , se denen las operaciones suma mdulo m (+m ) y producto mdulo
4. ASPECTOS ALGEBRAICOS DE LA CONGRUENCIA: ARITMTICA MODULAR 67

m ( m ) de la siguiente forma, para a, b Zm :


a +m b = r (a + b, m) a m b = r (ab, m)
El sistema aritmtico modular Zm es el conjunto Zm con sus operaciones de suma y producto mdulo m.
Es decir, Zm = {0, 1, . . . , m 1} y a +m b es el nico nmero de Zm al cual es congruente el entero a + b.
O sea que para a, b, c Zm , se tiene que a +m b = c si, y slo si, a + b m c. Anlogamente, a m b = c
si, y slo si, ab m c. Como vemos, +m y m son dos operaciones binarias bien denidas (cerradas) en Zm .
Adems, de la denicin se ve que dos expresiones que contengan elementos y operaciones en Zm y que sean
iguales en Zm , pueden verse automticamente como congruencias mdulo m en Z. Por ejemplo, decir que
a m b = (c +m d) m k en Zm es equivalente a tener ab m (c + d) k , con las operaciones habituales de suma
y producto de enteros. Recprocamente, cualquier congruencia mdulo m en enteros puede verse como una
igualdad en Zm , reemplazando a cada entero a que aparezca por r (a, m), y a las sumas y multiplicaciones de
enteros por sumas y productos en Zm .
Investigaremos ahora propiedades del sistema que acabamos de denir. Cuando se estudian las propiedades
de operaciones binarias denidas en un conjunto, estamos entrando al territorio de la Matemtica que se llama
lgebra.
Cmo son las tablas de las operaciones en Zm ? Veamos algunos ejemplos.

Para Z4 :
+4 0 1 2 3 4 0 1 2 3
0 0 1 2 3 0 0 0 0 0
1 1 2 3 0 1 0 1 2 3
2 2 3 0 1 2 0 2 0 2
3 3 0 1 2 3 0 3 2 1
Para Z5 :
+5 0 1 2 3 4 5 0 1 2 3 4
0 0 1 2 3 4 0 0 0 0 0 0
1 1 2 3 4 0 1 0 1 2 3 4
2 2 3 4 0 1 2 0 2 4 1 3
3 3 4 0 1 2 3 0 3 1 4 2
4 4 0 1 2 3 4 0 4 3 2 1
La simetra con respecto a la diagonal sugiere que la suma y el producto en Zm son operaciones
conmutativas. Efectivamente, para a, b Zm , a +m b m a + b = b + a m b +m a, es decir, a +m b m b +m a,
lo cual implica que a +m b = b +m a (proposicin 5.8). Argumentos anlogos muestran que el producto mdulo
m es conmutativo, y que la suma y el producto mdulo m son tambin operaciones asociativas.
Otra propiedad importante de Zm , que relaciona a sus dos operaciones, es que vale la propiedad distri-
butiva del producto respecto de la suma: para a, b, c Zm , tenemos que

a m (b +m c) m a (b + c) = ab + ac m (a m b) +m (a m c)
Siendo a m (b +m c) m (a m b) +m (a m c) y ambos elementos de Zm , se sigue que a m (b +m c) =
(a m b) +m (a m c).
Las dos operaciones tienen elemento neutro en Zm , el 0 en el caso de la suma y el 1 en el del producto:
para a Zm , tenemos que a +m 0 m a + 0 = a, por lo que a +m 0 = a , pues a Zm . Por otro lado,
a m 1 m a 1 = a, por lo que a m 1 = a.
Investiguemos ahora la existencia de los inversos para cada operacin. De nuestros ejemplos a travs de las
tablas, conjeturamos que cada elemento a Zm tiene inverso aditivo en Zm , es decir, un x Zm tal que
a +m x = 0. Esto porque en cada la de la tabla de suma aparece el neutro (y una sola vez en cada la). Quin
es ese x? Por inspeccin, podemos sospechar que casi siempre es m a. Efectivamente.

Proposicin 5.34. Sea m Z , y a Zm . El inverso aditivo de a en Zm existe y es nico, y vale m a,


+

salvo el caso a = 0 cuyo inverso aditivo es 0.


Demostracin. Buscamos x Zm tal que a +m x = 0. Tenemos que

a +m x = 0 a + x m 0 x m a x m m a
Como 0 a < m, tenemos que 0 < m a m. Si a = 0, queda que x m 0, y entonces x = 0. Si a 6= 0, ya que
m a Zm , se sigue que x = m a. 
En adelante, al inverso aditivo de a lo llamaremos opuesto de a, y lo denotaremos por a. En particular,
en Zm tenemos que 1 = m 1.
Y qu hay de inversos para el producto? Es decir, dado a Zm , existe x Zm tal que a m x = 1?
Vemos que 0 no tiene inverso en ningn Zm , pues 0m x = 0 cualquiera sea x Zm . Qu pasa con los elementos
no nulos de Zm ? De la tabla de multiplicar en Z4 , vemos que en la la del 2 no aparece el neutro, por lo que 2
68 5. CONGRUENCIAS

no tiene inverso para esta operacin. 1 y 3 s lo tienen. En la tabla de 5 , todo elemento no nulo tiene inverso.
Veamos qu es lo que pasa.

Proposicin 5.35. Sea m Z+ , y a Zm {0}. Se tiene que a posee inverso multiplicativo en Zm si, y
slo si, a y m son coprimos. El inverso multiplicativo de a, si existe, es nico.
Demostracin. Buscamos x Zm tal que a m x = 1. Tenemos que a m x = 1 ax m 1, es decir,
existe el inverso multiplicativo de a si, y slo si, la ecuacin lineal de congruencia ax m 1 tiene solucin en
Z, lo cual ocurre si, y slo si, mcd(a, m) | 1 que equivale a decir que mcd (a, m) = 1. Entonces, a tiene inverso
multiplicativo en Zm si, y slo si, a es coprimo con m. Para la unicidad, supongamos que a Zm admite inverso
multiplicativo b Zm . Debe ser entonces mcd (a, m) = 1. Sea c Zm tal que am c = 1. Luego, ab m 1 m ac,
y por transitividad de la congruencia resulta ab m ac. Como a y m son coprimos, por el corolario 5.17, es
b m c, y entonces, por la proposicin 5.8, resulta b = c. Es decir, el inverso de a es nico. 
En lo sucesivo, al inverso multiplicativo de a, si existe, lo llamaremos simplemente inverso, y lo denotaremos
por a1 .
Si p es primo, no puede ser un factor de ningn elemento a Zp {0}, pues es 0<a<p (proposicin
2.9). Entonces, p es coprimo con todo elemento de Zp {0} (proposicin 3.4). Como consecuencia de sto y de
nuestras investigaciones anteriores sobre existencia de inversos para el producto, tenemos el siguiente resultado.

Corolario 5.36. Si p es un nmero primo positivo, todo elemento de Zp , excepto el 0, tiene un nico
inverso.
En N y en Z, ocurre que el producto de dos nmeros es 0 si, y slo si, al menos uno de los nmeros es 0. En
Zm puede ser que no. Por ejemplo, en Z6 tenemos que 2 6 3 = 0. Pero en Zp con p primo, uno de los factores
debe ser 0 para que el producto sea 0.
Proposicin 5.37. Sea p un primo positivo, y sean a, b Zp . Se tiene que a p b = 0 si, y slo si, a = 0 o
b = 0.
Demostracin. Supongamos que a p b = 0. Entonces, ab p 0, por lo que p | ab. Por la regla de oro de
la aritmtica, p|a o p | b. Pero siendoa, b Zp , esto implica que o bien a = 0 o bien b = 0.
La implicacin recproca es consecuencia directa de la denicin de producto mdulo p. 
En cualquier Zm 1 m 1 = 1 y (m 1) m (m 1) = 1. Esta ltima puede verse ya que, por
se tiene que
2 2
propiedades de congruencias, (m 1) m (1) = 1. Esto nos hace ver que, en Zm , el inverso de 1 es 1, y el
de m 1 es m 1. Puede haber en Zm algn otro nmero que sea su propio inverso? Por supuesto que s, por
ejemplo en Z8 tenemos que 3 8 3 = 1, por lo que 3 es su propio inverso en Z8 . Pero en Zp , con p primo, la cosa
cambia.

Proposicin 5.38. Sea p primo positivo. Los nicos nmeros que coinciden con su inverso en Zp son 1 y
p 1.
Demostracin. Ms arriba vimos que siempre es 1 m 1 = 1 y (p 1) m (p 1) = 1. Luego, cada uno
de ellos coincide con su inverso en Zp . Para ver que son los nicos que tienen esa propiedad, sea x Zp tal que
x p x = 1 en Zp . Debe ser entonces, en la aritmtica de Z, x2 p 1, es decir, x2 1.
p debe ser un factor de
Esto equivale a que p | (x 1) (x + 1). Por la regla de oro de la aritmtica, debe ser p | (x 1) o p | (x + 1).
Entonces, ya que 0 x < p, debe ser x = 1 o x = p 1 (pues en cualquier otro caso es 0 < |x 1| < p y
0 < |x + 1| < p). Con esto queda demostrada la proposicin. 
4.1. El Teorema de Wilson. Para m 2, cunto vale r ((m 1)!, m)? Veamos la siguiente tabla, para
2 m 10.
m (m 1)! r ((m 1)!, m) m (m 1)! r ((m 1)!, m) m (m 1)! r ((m 1)!, m)
2 1 1 6 120 0 10 362.880 0
3 2 2 7 720 6 11 3.628.800 10
4 6 2 8 5.040 0 12 39.916.800 0
5 24 4 9 40.320 0 13 479.001.600 12
De la lectura de la tabla podemos elaborar las siguientes conjeturas:

1. Si m es primo, el resto es m 1.
2. Si m no es primo, el resto es 0, excepto el caso m = 4.
Veremos ahora que las conjeturas son ciertas. Para guiar la intuicin en el caso de ser m primo, analicemos
el caso m = 7, contando con el invalorable apoyo de nuestros conocimientos de Z7 y los inversos. Tenemos que
6! = 1 2 3 4 5 6. En Z7 , el inverso de 2 debe ser 3, 4 o 5 (proposicin 5.38). Por clculo, vemos que es 4. Y
entonces 3 y 5 son inversos entre s. Por lo tanto, si multiplicamos mdulo 7 los factores de 6!, resulta

1 7 2 7 3 7 4 7 5 7 6 = 1 7 (2 7 4) 7 (3 7 5) 7 6 = 1 7 1 7 1 7 6 = 6
4. ASPECTOS ALGEBRAICOS DE LA CONGRUENCIA: ARITMTICA MODULAR 69

de donde 6! 7 6, y por lo tanto r (6!, 7) = 6. Esto que hemos hecho para este ejemplo, se puede hacer en
general.

Teorema 5.39. (Wilson) Si p es primo positivo, entonces (p 1)! p 1.


Demostracin. Si p = 2, tenemos que 1! = 1 2 1, y entonces el enunciado es cierto. Si p > 2,
consideremos F = {2, 3, . . . , (p 2)}. Cada a F tiene su inverso (para el producto en Zp ) a1 F , con
a1 6= a (proposicin 5.38). Por lo tanto, con todos los elementos de F se pueden formar (p 3) /2 pares de
nmeros tales que el producto mdulo p de los nmeros de cada pareja es 1. Por lo tanto, 2p 3p p (p2) = 1,
es decir, 2 3 (p 2) p 1 y entonces (p 1)! p p 1 p 1, como queramos probar. 
El teorema se llama as porque quien lo conjetur fue el ingls John Wilson, pero en realidad quien lo
demostr es el francs Joseph Lagrange. La implicacin recproca a la del Teorema de Wilson es tambin cierta.

Teorema 5.40. Sea m un entero positivo mayor que 1. Si (m 1)! m 1, entonces m es primo.
Demostracin. La aseveracin es verdadera para m = 2 pues el consecuente es verdadero, as que veamos
que se cumple para m > 2. Para probar por el absurdo, supongamos que m es compuesto y que (m 1)! m 1.
Entonces, deben existir a, b N tales que m = ab con 2 a b m 1. Tenemos que a | (m 1)!, pues a es
uno de los m 1 factores que componen el factorial. Como (m 1)! m 1, tenemos que m | (m 1)! + 1, y,
por transitividad de la divisibilidad, resulta que a | (m 1)! + 1. Siendo a factor de (m 1)! y (m 1)! + 1, por
la proposicin 2.14, debe ser a un factor de 1, y entonces, por la proposicin 2.10, es a = 1, contradiciendo que
es a 2. La contradiccin provino de suponer que m es compuesto. Luego, m es primo. 
Finalmente, qu pasa con r ((m 1)!, m) si m no es primo?

Teorema 5.41. Si m es un compuesto positivo que es distinto de 4, entonces (m 1)! m 0.


Demostracin. Sea m 2 compuesto distinto de 4. Entonces, existen a, b N tales que m = ab con
2 a m 1 y 2 b m 1.
Si a 6= b, tenemos que ab | (m 1)! pues a y b corresponden a factores distintos en el factorial, y
entonces m | (m 1)!, de donde (m 1)! m 0.
Si a = b, debe ser a > 2 (pues si fuese a = 2, sera m = 4, en contra de la hiptesis), y entonces
m = a2 > 2a, es decir, 2a m1. Entonces, como 2 < a < 2a m1, se tiene que a y 2a corresponden
2
a factores distintos en el factorial, de donde 2a | (m 1)!. Por transitividad de la divisibilidad, tenemos
entonces que m | (m 1)!, de donde (m 1)! m 0.

En denitiva, en cualquier caso tenemos que (m 1)! m 0 toda vez que m es compuesto distinto de 4. 

4.2. Una manera equivalente de denir Zm . La congruencia mdulo m es una relacin en el conjunto
de los nmeros enteros: dados a, b Z, o bien a m b o bien a 6m b. Las proposiciones 5.3, 5.4 y 5.5 nos
dicen que la relacin de congruencia mdulo m es una relacin de equivalencia en el conjunto de los nmeros
clase de
enteros. Cuando en un conjunto hay denida una relacin de equivalencia, tiene sentido denir la
equivalencia de cada elemento del conjunto. Una clase de equivalencia agrupa a todos los elementos del
conjunto que comparten la caracterstica por la cual son equivalentes. En el caso de la congruencia mdulo m,
para a Z, la clase de equivalencia de a, denotada por [a], es [a] = {b Z : b m a}, es decir, el conjunto de
todos los enteros congruentes mdulo m con a.
Ejemplo 5.42. En el caso m = 5, tenemos que

[17] = {b Z : b 5 17} = {b Z : k Z : b = 17 + 5k}


= {17 + 5k : k Z} = {. . . , 8, 3, 2, 7, 12, 17, 22, 27, . . .}
Anlogamente,
[2] = {2 + 5k : k Z} = {. . . , 8, 3, 2, 7, 12, 17, 22, 27, . . .}
[4] = {4 + 5k : k Z} = {. . . , 6, 1, 4, 9, 14, 19, 24, 29, . . .}
Se observa que, como conjuntos, [17] = [2] (tendr algo que ver el hecho de que 17 5 2?), en tanto que parece
que no hay elementos comunes a [2] y [4] (obsrvese que 2 65 4). Adems, 2 [2], 4 [4], 17 [17]. 
Del ejemplo anterior, nos damos cuenta de que puede haber enteros distintos cuyas clases de equivalencia
coinciden, y que puede haber clases de equivalencias distintas que no tengan elementos comunes. Adems,
conjeturamos que todo entero pertenece a su propia clase de equivalencia. Todo esto es cierto, y lo demostramos
en los siguientes resultados.

Proposicin 5.43. Sea m Z+ . Entonces, a Z, a [a].


Demostracin. Para cualquier entero a, se tiene que a m a (proposicin 5.3). Luego, a [a]. 
Proposicin 5.44. Sea m Z+ . Entonces, a Z, a [r (a, m)].
70 5. CONGRUENCIAS

Demostracin. De la proposicin 5.9, sabemos que cualquier entero a es congruente mdulo m a r (a, m),
por lo que a [r (a, m)]. 
Proposicin 5.45. Sea m Z+ , y a, b Z. Se tiene que [a] = [b] si, y slo si, a m b.
Demostracin. Para la ida, supongamos que [a] = [b]. Como a [a], tenemos que a [b], y por lo tanto
a m b.
Para la vuelta, supongamos que a m b. Debemos mostrar que los conjuntos [a] y [b] son iguales. Sea c [a].
Entonces c m a , y como por hiptesis es a m b, por transitividad tenemos que c m b, de donde c [b].
Idnticamente deducimos que si c [b], entonces c [a]. Luego, [a] = [b]. 
Corolario 5.46. Sea m Z+ . Entonces, a Z, [a] = [r (a, m)].
Que dos conjuntos sean distintos no quita la posibilidad de que tengan elementos en comn. Sin embargo,
cuando esos conjuntos son clases de equivalencia de una congruencia mdulo m, no cabe esa posibilidad: dos
clases de equivalencia distintas son disjuntas.

Proposicin 5.47. Sea m Z+ , y sean a, b Z tales que a 6m b. Entonces, [a] [b] = .


Demostracin. Por contrarreciprocidad, supongamos que [a] [b] 6= . Entonces existe c tal que c [a] y
c [b], es decir, c m a y c m b. Por transitividad, tenemos que a m b. 
De todo lo anterior, tenemos que las distintas clases de equivalencia bajo la relacin m forman una
particin de Z: literalmente, Z est partido en clases de equivalencia, de modo que cada entero est en slo una
de ellas, y si unimos todas las clases de equivalencia obtenemos todo Z. Cuntas clases de equivalencia distintas
hay para la relacin m ? De las proposiciones anteriores, tenemos que tratar de seleccionar la mayor cantidad
posible de enteros de modo que ningn par de ellos sea congruente mdulo m. Eso nos lleva directamente a
pensar en los sistemas completos de restos mdulo m. Hemos visto que uno de ellos es {0, 1, . . . , m 1}. Como
todo sistema completo de restos mdulo m, tiene m elementos. Quiere decir entonces que hay m clases de
equivalencia distintas para m , y son [0], [1], . . ., [m 1]. Designemos por Qm al conjunto cuyos elementos son
las clases de equivalencias distintas por m . Es decir,

Qm = {[0] , [1] , . . . , [m 1]}


Sean a y b enteros cualesquiera, y supongamos que tomamos c [a] y d [b]. Esto quiere decir que c m a
y d m b. Por el teorema 5.13, es c + d m a + b y cd m ab, por lo que c + d [a + b] y cd [ab]. Es decir,
sumar cualquier elemento de [a] con cualquier elemento de [b] produce un elemento en [a + b], y similarmente
para el producto. Basados en sto, podemos denir en Qm dos operaciones binarias, suma y producto, de la
siguiente manera: para [a] y [b] pertenecientes a Qm , hagamos

[a] + [b] = [a + b] [a] [b] = [ab]


Debemos notar que son operaciones bien denidas, pues [a + b] = [r (a + b, m)] Qm y [ab] = [r (ab, m)]
Qm (corolario 5.46).

Ejemplo 5.48. Para m = 5, es Q5 = {[0] , [1] , [2] , [3] , [4]}. Se tiene que, por ejemplo, [1] + [2] = [3], y
[2] [2] = [4]. Tambin es [3] + [4] = [7] = [2], y [3] [4] = [12] = [2]. 
Cmo podemos hacer para saber, de manera rpida, cunto vale [a] + [b]? Fcil: sumamos a y b como
nmeros enteros, y vemos cul es el resto de la divisin por m. Anlogamente para [a] [b]. Pareciera entonces
que los corchetes no son necesarios, a condicin de que hagamos la correspondiente operacin y tomemos resto
de la divisin por m (aunque convengamos que suena ms natural decir [3] + [4] = [2] que 3 + 4 = 2, sobre todo
si no estamos advertidos que, en esta ltima,  = debe interpretarse como 5 ). Debe caerse en cuenta de la
correspondencia que hay entre Qm y Zm , tanto por sus elementos como por sus operaciones. En realidad, Qm
y Zm , con sus respectivas operaciones, pueden verse como la misma cosa, nada ms que con los nombres de
sus elementos cambiados. Por esto, algunos autores denen Zm como el conjunto de las clases de equivalencia
en Z bajo la relacin de equivalencia m . En la materia Estructuras Algebraicas se ver con todo detalle una
generalizacin de todo esto, y se establecer formalmente lo que quiere decir que dos conjuntos y sus respectivas
operaciones son la misma cosa salvo cambio de nombres.

4.3. El Pequeo Teorema de Fermat. En Zm tiene sentido tambin denir la operacin de poten-
ciacin natural positiva: para a Zm y n Z+ , an representa a m a m m a, la operacin de a consigo
mismo n veces. Formalmente,

n a si n = 1
a =
a m an1 si n>1
n
Con esta denicin, se tiene que a Zm para cualquier entero positivo n. Puede verse rpidamente que
hacer potenciacin en Zm es equivalente a hacer potenciacin en Z y tomar el resto de la divisin por m. Ocurre
4. ASPECTOS ALGEBRAICOS DE LA CONGRUENCIA: ARITMTICA MODULAR 71

que an = b (con la potenciacin en Zm ) si, y slo si, an m b (con la potenciacin en Z). Se tiene tambin que
n1 +n2 n
a = an1 m an2 y que (an1 ) 2 = an1 n2 .
4 n + 2 3
Por ejemplo, en Z6 , es 3 = 3. Obsrvese que, en Z6 , 3 = 3 cualquiera sea n Z . En Z5 , es 3 = 4, 3 = 2
4 2 4 2 4 8 12
y 3 = 1. En Z13 , es 5 = 12, y 5 = 1. Tambin en Z13 , 2 = 4, 2 = 3, 2 = 9 y 2 = 1.
Podemos invertir ms tiempo eligiendo nmeros de Z13 y viendo que, para cada uno de ellos, alguna potencia
n +
positiva da 1 (salvo 0, pues 0 = 0 cualquiera sea n Z ). Lo mismo pasa en Z5 , y, si hacemos la prueba,
en cualquier Zp que se nos ocurra tomar, con p primo. Conjeturamos entonces que, para p primo, se tiene que
a Zp {0} , n Z+ : an = 1 (con la operacin de producto mdulo p). Y efectivamente as es. Est
demostrado en el siguiente teorema.

Teorema 5.49. Sean p un primo positivo y a Zp {0}. Entonces, existe un entero positivo n tal que
an = 1 (en la aritmtica de Zp ).
Demostracin. Consideremos la sucesin de las potencias positivas de a en Zp : a1 , a2 , a3 , . . . Dado que
todas ellas son elementos deZp , deben existir enteros positivos i < j tales que ai = aj . Multipliquemos a ambos
miembros de esta igualdad en Zp por la i-sima potencia del inverso de a (que sabemos que existe pues a 6= 0
1 i
i
= ai p a1 . Por la asociatividad del producto en Zp ,
j

y p es primo). Nos queda entonces que a p a
ji
tenemos que a = 1 con j i entero positivo, lo cual muestra la aseveracin del teorema. 
Corolario 5.50. Sea p primo positivo y a Z. Si p no es factor de a, entonces existe n Z+ tal que
a p 1 (en la aritmtica de Z).
n

Demostracin. Sea d = r (a, p). Como p no divide a a, es d 6= 0. Luego, d Zp {0}. Ya que p es primo,
existe n Z+ dn = 1 (con la potenciacin denida para Zp ). Esto quiere decir que, con la potenciacin
tal que
n n n
de nmeros enteros, es d p 1. Ya que a p d, del corolario 5.14 se tiene que a p d y por transitividad de
n
la congruencia, es a p 1. 
a Zp {0}, la existencia de un n Z+ que cumple la propiedad de
El teorema 5.49 garantiza, para cada
n 4 4
que a = 1. Podemos sospechar que tal n depende de a. Por ejemplo, en Z13 , 5 = 1 pero 3 6= 1. Vemos que
n
un n que funcione para a Zp {0} puede no cumplir que b p 1 para algn b 6= a. Sin embargo, hay un n
que anda bien con todo elemento. En realidad son varios, pero hay uno famoso.

Lema 5.51. Sean p primo positivo, a Zp {0} y j, k Zp . Si j 6= k, entonces a p j 6= a p k.


Demostracin. Demostraremos la contrarrecproca. Supongamos a p j = a p k . Como p es primo y
a 6= 0, existea1 Zp {0}, por lo que, multiplicando mdulo p a ambos miembros de la igualdad por a1 ,
quedamos con que j = k . 
Teorema 5.52. Sea p primo positivo. Entonces, a Zp {0}, ap1 = 1 (en la aritmtica de Zp ).
Demostracin. Sea a Zp {0}. Hagamos M = {k p a : k Zp {0}}, que, en virtud del lema 5.51,
tienep 1 elementos, y de la proposicin 5.37 ninguno de ellos es 0. Luego, M Zp {0}; el nico subconjunto
de Zp {0} con p 1 elementos es el propio Zp {0}. Luego, debe ser M = Zp {0}. Por lo tanto, multiplicar
todos los nmeros que hay en M (con el producto de Zp ) es lo mismo que multiplicar todos los elementos de
Zp {0} (con su aritmtica). De all que
(a p 1) p (a p 2) p p (a p (p 1)) = 1 p 2 p p (p 1)
Sea k = 1 p 2 p p (p 1). De lo anterior, tenemos que k p ap1 = k . Como ningn factor en k es 0,
1
tenemos que k 6= 0 (proposicin 5.37), y entonces existe k Zp {0}, que, multiplicado mdulo p a ambos
p1
miembros de la igualdad anterior, produce a = 1 en la aritmtica de Zp . 
Corolario 5.53. (Pequeo Teorema de Fermat) Sea p un primo positivo, y sea a un entero que no es
mltiplo de p. Entonces, ap1 p 1.
Demostracin. Sea d = r (a, p). Se tiene que d Zp {0}, por lo que en Zp es dp1 = 1. Esto signica
p1
que, en la aritmtica de los enteros, d p 1. Como a p d, tenemos que ap1 p dp1 (corolario 5.14), y por
p1
transitividad de la congruencia mdulo p es a p 1. 
Corolario 5.54. Sea p un primo positivo. Entonces, a Z, ap p a.
Demostracin. Sea a Z. Si p no es factor de a, por el Pequeo Teorema tenemos que ap1 p 1, por lo
p p p
que a p a (lema 5.12). Si p es factor de a, es a p 0, y p | a , por lo que a p 0. Entonces, por transitividad
p
de la congruencia mdulo p, es tambin en este caso a p a. 
Corolario 5.55. Si p es primo positivo y a Zp {0}, entonces a1 = ap2 .
Demostracin. a p ap2 = ap1 = 1. 
72 5. CONGRUENCIAS

Corolario 5.56. Sean p primo positivo y a, b Z. Si p no es factor de a, entonces el conjunto solucin


de la ecuacin lineal de congruencia ax p b es el conjunto de todos los enteros congruentes mdulo p a ap2 b.
Demostracin. aap2 b = ap1 b p 1b = b, por lo que ap2 b es una solucin a la ecuacin de congruencia.
Por el teorema 5.22, se sigue el resultado. 
Apndice A

USO DEL SOFTWARE  SageMath


En este apndice se tratar de guiar al lector para dar unos primeros pasos en el uso del software SageMath
(versin 6.10), con el objetivo de implementar los algoritmos dados en el presente texto. No se pretende explorar
toda la riqueza de ese excelente programa, sino slo instruir mnimamente en la manera de programar en la
notacin algortmica que hemos presentado. Sera deseable que, con este puntapi inicial, el lector se anime a
usar el software para investigar sobre muchas conjeturas en el reino de los nmero enteros, y, por qu no, a
formular las suyas propias (ojal que tambin pueda probar analticamente... algunas de las que sean ciertas!).
Para poder usar el software SageMath, ste debe estar previamente instalado en la computadora de trabajo.
Los laboratorios del Departamento de Matemtica cuentan con l si el sistema operativo elegido es Linux. Para
invocarlo, se debe abrir una consola y luego tipear sage -n&. Se abre entonces una ventana del navegador
predeterminado del sistema (usualmente el de Google) y entramos al maravilloso mundo de dar rdenes y, si las
mismas tienen sentido, ver cmo son cumplidas.

1. Generalidades

Para dar una instruccin al programa con el objeto de que ste la ejecute, primero debe tipearse dicha
instruccin en una celda de comandos (hay tambin otro tipo de celdas, llamadas celdas de texto). Un grupo de
celdas en una pgina forma una hoja de trabajo. Las hojas de trabajo se pueden guardar, abrir posteriormente
y volver a ejecutar. La cuenta consta de un conjunto de hojas de trabajo, es decir, un cuaderno de notas que
puede ver al iniciar sesin.
Durante el tipeo de una instruccin, hay que tener cuidado con la distincin entre maysculas y minsculas,
ya que SageMath es sensible a este hecho. Por ejemplo, tipear un comando como  return es muy distinto de
tipear  Return. Una vez nalizado el tipeo de una instruccin, la misma se ejecuta presionando simultneamente
las teclas Shift y Enter. Esto, traducido a un lenguaje coloquial, sera como Hac lo que te acabo de decir!.
Alternativamente, se ejecuta la instruccin haciendo Clic en evaluate (debajo de la celda deseada).
Presionar slo la tecla Enter producir un cambio en la lnea de edicin (recurso muchas veces usado para
hacer ms clara y legible la instruccin que se est tipeando). SageMath no interpretar Enter como orden de
ejecucin de la instruccin.
Una sola celda de comandos puede contener varios comandos separados por punto y coma, o alternativamente
cada uno de ellos en diferentes lneas (recuerde que Enter cambia la lnea sin evaluar nada).
La celda activa es la que tiene un borde azul brillante (las celdas son editables haciendo Clic en ellas).
Se pueden crear nuevas celdas por encima de las existentes. Con el cursor del ratn, busque una lnea azul
horizontal justo encima de una celda existente y haga Clic en ella para crear la nueva celda. Se pueden borrar
las celdas: primero borre todo su contenido, y luego pulse Backspace.
Las celdas de texto son tiles para realizar anotaciones en la hoja, por ejemplo para dividirla en secciones,
para colocar ttulos o subttulos, etc. Se crean de la misma manera que los otros tipos de celdas, excepto que
haciendo simultneamente Shift y Clic (en lugar de slo Clic) en la lnea azul horizontal. Una celda de texto
puede editarse haciendo doble Clic en el contenido, y puede contener frmulas de ltex, enlaces a pginas web,
cdigo html, etc.

1.1. Obtencin de ayuda en Sagemath. Es altamente recomendable saber cmo se obtiene ayuda de
distintas maneras en relacin a diferentes aspectos del programa.

1. Material externo a la sesin:


Enlace Ayuda en la parte superior de la hoja de trabajo.
Sitio web de ayuda de Sage: http://www.sagemath.org/
Tarjetas de referencia rpida: http://wiki.sagemath.org/quickref
2. Desde su sesin:
Completacin con tecla TAB: escriba algunas primeras letras del tema que est buscando, pulse
TAB y haga clic en el tpico que le interese.
Un nombre seguido por un signo de interrogacin o un doble signo de interrogacin (para obtener
tambin el cdigo fuente correspondiente).
Un nombre seguido por un punto y luego TAB (ayuda punto TAB - ejemplos ms adelante).

73
74 A. USO DEL SOFTWARE  SAGEMATH
1.2. Insercin de comentarios en una celda de comandos. Para insertar una observacin o comen-
tario en una celda de comandos, utilice el smbolo numeral (#) (desde ese smbolo hacia la derecha, todo ser
ignorado). Por ejemplo, tipear
5^3# el cubo de 5
equivale a escribir simplemente
5^3

1.3. Operadores y constantes habituales.

Suma, resta, multiplicacin, divisin: + - * /


Potenciacin: ^
//
Cociente y resto enteros: %
Comparacin: > < == != >= <=
Lgicos: or and not
Constantes: pi e I
Se puede utilizar parntesis de la misma manera que en las expresiones algebraicas. Cuando se escribe una
operacin algebraica sin parntesis, hay reglas de precedencia para el orden en que se ejecuta cada una de ellas
(puede consultarlas siguiendo el enlace de Ayuda en la parte superior de la hoja de trabajo).

1.4. Visualizacin de aproximaciones numricas. SageMath trabaja con la mxima precisin que
le es posible. Por ejemplo, al ejecutar la instruccin 1+1/3 4
3 . Si se desea una
se obtiene como respuesta
aproximacin decimal, se debe usar la funcin n, con su argumento entre parntesis. Por ejemplo, n(1+1/3). La
funcin n muestra por defecto una salida de alrededor de 15 dgitos. Se puede aumentar la cantidad de dgitos
mediante la opcin digits. Por ejemplo, para mostrar los primeros 50 dgitos de la representacin del nmero
, podemos hacer n(pi,digits=50).

2. Distintos tipos de instrucciones

A continuacin, daremos una manera de implementar en SageMath los distintos tipos de instrucciones
vistas en la seccin Notacin Algortmica del captulo 2 y empleadas en varias partes de este libro.

2.1. Instrucciones de asignacin. Tipear el nombre de la variable, seguido del signo = y luego la
expresin que dene el nuevo valor de la variable (casi igual que en la notacin algortmica, excepto que
omitimos la palabra sea). Por ejemplo,

x=5
Luego de presionar Shift Enter, la variable x queda con el valor 5. Podemos recuperar, durante la sesin, el valor
de la variable poniendo el nombre de la misma y luego Shift Enter.
Para asignar valores a varias variables simultneamente, se debe tipear las variables separadas por comas,
luego =, y luego los valores para cada una separados por comas. Por ejemplo, al hacer

x,z=4,5
la variable x queda valiendo 4, y la z queda con 5.
Importantsimo: El smbolo = es el operador de asignacin. En la implementacin de algoritmos, muchas
veces queremos saber si una variable tiene un cierto valor (por ejemplo, si la variable x vale 5). Para hacerlo,
debemos usar el smbolo ==, que es un operador de comparacin. Por ejemplo, al ejecutar en un programa la
comparacin

x==5
se obtendr true (verdadero) si la variable x efectivamente tiene almacenado un 5, y false (falso) en caso
contrario.
Otros operador de comparacin es !=, que signica distinto de.

2.2. Instruccin de retorno. La instruccin contestar expresin se logra en SageMath tipeando


return expresin
Por ejemplo, return 10*c producir que se conteste el valor que resulte de multiplicar por 10 lo que tenga
asignada la variable c.
Est permitido que la expresin a contestar sea una sucesin de dos o ms elementos, que debern ir
separados por comas. Por ejemplo, return c,r contestar una sucesin de dos nmeros: el primero con el valor
de la variable c y el segundo con el de r.
2. DISTINTOS TIPOS DE INSTRUCCIONES 75

2.3. Instrucciones condicionales. Recordemos que, en nuestra notacin algortmica, las mismas res-
ponden al siguiente esquema:
si (condicin) lista1
sino lista2
En SageMath, se logran tipeando primero la palabra que corresponde a si (if), luego la condicin (que no es
obligatorio que vaya entre parntesis), a continuacin el smbolo de dos puntos (:) y despus las instrucciones de
lista1. Luego, en nuevo rengln, la palabra que corresponde a sino (else) seguida de dos puntos (:) y despus
las instrucciones de lista2. En resumen, las instrucciones condicionales implementadas en SageMath tienen el
siguiente aspecto:

if condicin: lista1
else: lista2
(y si no hay lista2, tipear if condicin: lista1)
Por ejemplo, la instruccin condicional

si (r = 0) sea a =2
sino sea a = 5

se implementa en SageMath as:

if r==0: a=2
else: a=5
Si la condicin es una proposicin compuesta en donde aparecen conjunciones y disyunciones de proposi-
ciones simples, se debe usar  and para y, y  or para o. Por ejemplo, para implementar en SageMath la
instruccin condicional 
si (r 7 y r 23) o r > 50 sea a = 2
sino sea a = 5
debe tipearse:

if (r>=7 and r<=23) or r>50: a=2


else: a=5
Recordemos que lista1 y/o lista2 pueden estar constituidas por varias instrucciones. Podran ir todas las
instrucciones de cada lista en un solo rengln respectivamente, separadas por el smbolo de punto y coma (;).
Sin embargo, para claricar el cdigo, es mejor que cada una de esas instrucciones vayan una por lnea (pul-
sando Enter para cambiar de lnea). En este caso, es obligatorio emplear sangra (y, ms precisamente, sangra
de 4 espacios), pues la misma es la que indica el conjunto de instrucciones de la lista (el editor automtica-
mente producir una sangra en el primer rengln despus de los dos puntos, y mantendr la sangra con cada
nuevo Enter; cuando nalizamos la ltima lnea, despus del correspondiente Enter, debemos borrar cuatro
espacios para retroceder un nivel en la indentacin). Por ejemplo, a continuacin mostramos a la izquierda un
pseudocdigo, y a la derecha una posible implementacin.

en pseudocdigo: en SageMath:
si (r = 0) if r==0:
sea a = 2 a=2
sea b = a2 b=a^2
sea c = a 2b c=a-2*b
sino else:
sea a=r a=r
sea b = r3 2 b=r^3-2
Es de destacar que la instruccin no cambia si la tipeamos as:

if r==0: a=2; b=a^2; c=a-2*b


else: a=r; b=r^3-2
pero se lee ms fcil si las cosas se acomodan como hemos mostrado ms arriba.

2.4. Declaracin e invocacin de funciones. Para declarar una funcin de una sola variable en Sa-
geMath, la mejor manera de hacerlo es la siguiente:

def nombre de la funcion(nombre del argumento):


.
.
.
Los puntos en vertical representan las sucesivas instrucciones que componen la funcin. Las mismas deben ir
con sangra de cuatro espacios, ya que esa indentacin es la que indica el conjunto de instrucciones que componen
76 A. USO DEL SOFTWARE  SAGEMATH
la funcin. Al igual que con las instrucciones condicionales, el editor maneja ms o menos automticamente el
uso de las sangras.
Por ejemplo, la siguiente funcin eleva al cuadrado:

def cuadrado(x):
return x^2
Como antes, es mejor que la lista de instrucciones tenga una instruccin por lnea, pulsndose Enter para
cambiar de lnea en el tipeo. El Shift Enter nicamente debe pulsarse despus de haber escrito la ltima
instruccin, para dar a entender al programa que all termin la denicin de la funcin. SageMath entonces
hace un chequeo de sintaxis, mostrando errores si los hay. Si no los hay, la funcin declarada ya est disponible
para su invocacin.
Veamos un ejemplo de implementacin:

en pseudocdigo: en SageMath:
h(x) = def h(x):
sea n = x 20 n=x-20
si (n > 2x) contestar 3n if n>2*x: return 3*n
sino else:
sea n = n x n=n*x
si (n < 400) contestar 1 nx if n<400: return 1-n*x
sino contestar x2 else: return x^2
Si una funcin tiene ms de un argumento, deben colocarse sus nombres separados por comas. Por ejemplo:

en pseudocdigo: en SageMath:
max(x, y) = def max(x,y):
si (x y) contestar x if x>=y: return x
sino contestar y else: return y
Una vez declarada, una funcin se puede invocar con valores concretos para sus argumentos. Se coloca para ello
el nombre de la funcin y los valores de los argumentos entre parntesis, separados por comas. Usando nuestras
implementaciones anteriores, para calcular cul es el mayor entre los nmeros 5 y 2, podramos ejecutar
max(-5,-2) (recibiendo como respuesta 2), o para saber el cuadrado de 7 podramos ejecutar cuadrado(7)
(recibiendo como respuesta 49).
Si una funcin contiene llamadas a funciones hijas, mejor no invocar a la madre hasta que tengamos todas
las funciones hijas ya implementadas. En este caso, hay que ir haciendo Shift Enter al terminar de denir cada
funcin (la madre y las hijas). Recin entonces se podr invocar a la madre sin sorpresas.

3. Algunos ejemplos

Seguidamente, mostramos implementaciones de varias de las funciones que aparecieron en este texto.

Cociente y resto de naturales, algoritmo ineciente:

def cr(a,b):
if a<b: return 0,a
else:
c,r=cr(a-b,b)
return 1+c,r

Cociente y resto de naturales, algoritmo ms eciente (exige tener implementado el de ms arriba, pues lo
invoca):

def cr10(a,b):
if a<b: return 0,a
else:
c,r=cr10(a,10*b)
c1,r1=cr(r,b)
return 10*c+c1,r1

Cociente y resto de enteros, usando el de naturales (se usa tambin la funcin abs, ya implementada en
SageMath, que devuelve el valor absoluto):
4. MANEJO DE LISTAS 77

def crent(a,b):
c,r=cr10(abs(a),abs(b))
if a>=0:
if b>0: return c,r
else: return -c,r
else:
if b>0:
if r==0: return -c,0
else: return -c-1,b-r
else:
if r==0: return c,0
else: return c+1,-b-r
Podemos utilizar la funcin anterior para calcular individualmente cociente y resto del entero a dividido por el
entero b, as:

def cent(a,b):
c,r=crent(a,b)
return c

def rent(a,b):
c,r=crent(a,b)
return r

Decisin de primalidad de un nmero entero. Una respuesta true signica que el argumento es un nmero
primo, mientras que false signica que no.
def primo(a):
if abs(a)<=1: return false
else:
if rent(a,2)==0:
if abs(a)==2: return true
else: return false
else: return probarfactor(abs(a),3)

def probarfactor(n,f):
if f^2>n: return true
else:
if rent(n,f)==0: return false
else: return probarfactor(n,f+2)

Mximo comn divisor entre dos enteros, algoritmo de Euclides:

def mcdeucl(a,b):
if b==0: return abs(a)
else: return mcdeucl(b,rent(a,b))

Algoritmo extendido de Euclides:

def euclext(a,b):
if b==0: return cent(abs(a),a),0,abs(a)
else:
c,r=crent(a,b)
s1,t1,g=euclext(b,r)
return t1,s1-t1*c,g

4. Manejo de listas

Hay varias formas de representar listas en SageMath; aqu lo haremos mediante sucesiones de elementos
separados por comas, y delimitadas por corchetes. Por ejemplo, [5,3,2,5]. Incluso est permitida la lista vaca,
es decir, una lista sin elementos: []. Como se observa, en una lista puede haber elementos repetidos.
Con la misma naturalidad con la que con una sola letra representamos todo un conjunto, en SageMath
podemos asignar a una variable toda una lista. Por ejemplo, para la lista anterior podemos poner a=[5,3,2,5].
78 A. USO DEL SOFTWARE  SAGEMATH
Algunas observaciones sobre cmo manipular listas en SageMath:

Longitud de una lista. El nmero de elementos que contiene una lista se logra con len y, entre
parntesis, el argumento. Para nuestro ejemplo de ms arriba, len(a) contesta 4; len([]) contesta 0.
Acceso a elementos de una lista. Podemos acceder a los elementos de una lista poniendo el nombre
de la misma y, entre corchetes, el nmero de orden del trmino que nos interesa (empezando por 0).
Por ejemplo, para nuestra lista a de arriba, a[1] contesta 3 (observar que el mximo valor que puede
referenciarse es la longitud de la lista menos 1; un valor mayor producir un error). Es posible tambin
asignar un nuevo valor a un elemento de la lista. Por ejemplo, a[1]=4 producir que la lista a pase a
valer [5, 4, 2, 5].
Sublistas. Si L es una lista, L[j:k] produce la sublista de elementos consecutivos de L que van desde la
posicin j hasta la k-1 ambas inclusive. Por ejemplo, si a=[5,3,2,5], entonces a[1,3] produce la lista
[3, 2]. L[:k] es equivalente a L[0:k], mientras que L[j:] es equivalente a L[j:len(L)]. En particular,
L[1:] equivale a la lista que resulta de suprimir el primer elemento de L.
Concatenacin. Concatenar dos listas signica crear una nueva lista cuyos miembros son los de la
primera lista seguidos de los miembros de la segunda. El operador de concatenacin es el smbolo de
adicin (+). Por ejemplo, si a=[5,3,2,5] y b=[1,9], y hacemos c=a+b, entonces c queda valiendo
[5, 3, 2, 5, 1, 9]. Como caso particular, si se tiene dada una lista L y se desea crear una nueva lista que
sea la misma que L excepto que con un elemento n insertado al principio, se puede hacer [n]+L. Por
ejemplo, si a=[5,3,2,5], entonces [9]+a dar la lista [9, 5, 3, 2, 5] (la lista a queda como estaba, pues
no se le asign un nuevo valor con esta operacin).

Con esto, estamos en condiciones de implementar dos importantes algoritmos ms:

Mximo comn divisor entre varios nmeros enteros:

def mcdeuclista(a):
if len(a)==1: return a[0]
else: return mcdeucl(a[0],mcdeuclista(a[1:]))
Ejemplo de invocacin: mcdeuclista([14,18,12,27]).

Resolucin de un sistema de dos congruencias:

def res2cong(a1,a2,m1,m2):
s,t,g=euclext(m2,m1)
c,r=crent(a1-a2,g)
if r==0: return rent(a2+m2*s*c,cent(m1*m2,g))
Ejemplo de invocacin: res2cong(4,8,13,27).

Resolucin de un sistema de varias congruencias:

def chino(a,m):
if len(a)==1: return a[0]
else: return chino([res2cong(a[0],a[1],m[0],m[1])]+a[2:],[m[0]*m[1]]+m[2:])
Ejemplo de invocacin: chino([4,8,7],[13,27,16]).

4.1. Cadenas de texto y cdigos ASCII. Para SageMath, una cadena de texto es una sucesin de
letras y smbolos encerrados entre comillas. Por ejemplo T="Abba" asigna a la variable T la cadena Abba. Una
cadena de texto es ni ms ni menos que una lista de letras, salvo que no se usan los corchetes ni las comas
de separacin. Por lo tanto, expresiones como len(T), T[i], T[j:k], T[j:], T[:k] y T+U son completamente
anlogas a lo que vimos para listas. La nica diferencia es que no se puede reasignar el valor de una posicin.
El cdigo ASCII de un smbolo se obtiene haciendo ord con el smbolo entre comillas y todo entre parntesis.
Por ejemplo, ord("a") contesta 97. El carcter que corresponde a un cdigo n (0 n < 256) se obtiene con chr
y n encerrado entre parntesis. Por ejemplo, chr(97) contesta 'a' (el apstrofe y las comillas son equivalentes).

You might also like