• No se han encontrado resultados

Divisibilidad en Z División euclídea en Z. Máximo común divisor

N/A
N/A
Protected

Academic year: 2021

Share "Divisibilidad en Z División euclídea en Z. Máximo común divisor"

Copied!
22
0
0

Texto completo

(1)

Cap´ıtulo 2

Divisibilidad en Z

2.1.

Divisi´

on eucl´ıdea en Z. M´

aximo com´

un

divi-sor

Definici´on 2.1 Dados dos n´umeros enteros a y b, con b 6= 0, se dice que b divide a a o que a es m´ultiplo de b o que b es divisor de a, si existe otro entero q tal que a = bq. Se escribe

b | a

Naturalmente, todo n´umero entero a distinto de 1 y −1 tiene, al menos, cuatro divisores, a saber, ±1 y ±a. A estos divisores se les conoce con el nombre de divisores (o factores) triviales de a. Otras propiedades, de todos conocidas, de la divisibilidad se recogen en la siguiente Proposici´on:

Proposici´on 2.2 En las propiedades siguientes todos los n´umeros ser´an enteros y |a| denotar´a el valor absoluto de a.

1) d|a ⇐⇒ −d|a ⇐⇒ d| − a,

2) d|a, a 6= 0 y d ≥ 0 =⇒ 1 ≤ d ≤ |a|, 3) d|1 =⇒ d = 1 o d = −1,

4) a|b y b|a =⇒ b = a o b = −a, 5) a|b y b|c =⇒ a|c,

6) a|b y a|c =⇒ a|b + c, 7) a|b y a|c =⇒ a|bc, 8) a|b y c ∈ Z =⇒ ac|bc,

(2)

9) a|b y c|d =⇒ ac|bd, 10) ac|bc y c 6= 0 =⇒ a|b.

Nota. La prueba de estas propiedades requiere el uso de la Definici´on 2.1 y de los axiomas que definen los n´umeros enteros. Como la prueba de dichas propiedades es sencilla, la dejaremos como ejercicio.

De entre todos los n´umeros enteros, adquieren una singular importancia los cono-cidos como n´umeros primos que, desde siempre, han fascinado a los matem´aticos y al resto de los mortales. Por poner un ejemplo, en la pel´ıcula Contact dirigida por Robert Zemeckis en 1997 y cuyo gui´on se basa en una novela de Carl Sagan, el primer mensaje que recibe de los extraterrestres la Dra. Arroway, interpretada por Jodie Foster, es una sucesi´on de n´umeros primos.

Definici´on 2.3 Un entero p > 1 se dice primo si sus ´unicos divisores positivos son los triviales, es decir, 1 y p.

Los primeros primos son:

2, 3, 5, 7, 11, 13, 17, 19, 23, ... N´otese que 1 no es primo.

Teorema 2.4 (Euclides, Libro IX de los Elementos, aprox. 300 a. C.) Todo n´umero entero mayor que 1 es producto de primos.

Demostraci´on.– Inducci´on en la talla.

En particular, todo entero no nulo es producto de uno de los n´umeros ±1 y de n´umeros primos. Veremos m´as adelante que esta expresi´on es, esencialmente, ´unica.

Teorema 2.5 (Euclides, Libro IX de los Elementos) Existen infinitos n´umeros primos.

La prueba de este resultado es sencilla y su inter´es radica en el hecho de que es una de las primeras demostraciones conocidas en las que se utiliz´o la reducci´on al absurdo.

Demostraci´on.– Supongamos que hay un n´umero finito, digamos n, de primos a los que denotaremos por p1, p2, . . . , pn. Consideremos el n´umero

(3)

2.1. DIVISI ´ON EUCL´IDEA EN Z. M ´AXIMO COM ´UN DIVISOR 27

N = p1p2· · · pn+ 1.

Por el teorema anterior, sabemos que N es producto de primos. Sea, pues, p un factor primo de N . Este primo ha de ser uno de los p1, p2, . . . , pn, digamos p = pi.

Entonces, pi divide a N − p1p2· · · pn que es igual a 1, con lo que hemos llegado a

una contradicci´on.

Una de las primeras tareas matem´aticas (y algor´ıtmicas) que realizamos en nuestra vida es la de aprender a dividir n´umeros naturales con resto. La forma en la que nos ense˜nan a dividir, basada en la b´usqueda de un natural que “quepa”(si no la mejor desde un punto de vista de eficiencia) es, en cierto modo, la misma idea en la que se basa la demostraci´on del siguiente teorema.

Teorema 2.6 (Divisi´on eucl´ıdea) Si a y b son dos enteros, b 6= 0, existe un ´unico par de enteros q y r tales que:

a = bq + r y 0 ≤ r < |b|.

A q y a r se les conoce, respectivamente, como cociente y resto de la divisi´on eucl´ıdea de a por b.

Demostraci´on.– Empecemos por demostrar la existencia de cociente y resto.

Supongamos, primero, que b > 0 y sea S = {x ∈ Z : bx ≤ a}. Este conjunto S es no vac´ıo (−|a| pertenece a S) y est´a acotado superiormente (por ejemplo, por |a|). En consecuencia, tiene m´aximo. Llamaremos q a este m´aximo y r = a − bq. Por construcci´on, se tiene que a = bq + r. Veamos que r verifica lo exigido. En efecto,

r ≥ 0 (por pertenecer q a S)

r < |b| = b. Si r ≥ b, se tendr´ıa b(q +1) = bq +b ≤ bq +r = a y, en consecuencia q + 1 pertenecer´ıa a S contradiciendo el hecho de q es el m´aximo de S. Si b < 0, aplicamos el caso anterior a −b.

Para probar la unicidad supongamos que q1, r1 y q2, r2 verifican las condiciones del

teorema, es decir,

a = bq1 + r1 con 0 ≤ r1 < |b| y

a = bq2+ r2 con 0 ≤ r2 < |b|

y que r1 ≤ r2. Restando, se tiene b(q1−q2) = r2−r1. Por lo tanto, |b| divide a r2−r1,

pero tambi´en se tiene que 0 ≤ r2− r1 < |b|. Esto s´olo es posible si r2 − r1 = 0. Por

(4)

Definici´on 2.7 (M´aximo com´un divisor) Si d|a y d|b decimos que d es un divi-sor com´un (o factor com´un) de a y b; por ejemplo, 1 es un divisor com´un a cualquier par de enteros a y b. Si a y b no son los dos nulos, el Teorema 2.6 prueba que ninguno de sus divisores comunes puede ser mayor que max(|a|, |b|), por lo que podemos ase-gurar que de entre todos sus divisores comunes debe existir uno que sea el mayor de ellos. Este es el m´aximo com´un divisor de a y b que denotaremos por mcd(a, b); siendo el ´unico entero d que satisface

d|a y d|b (por ser d un divisor com´un),

Si c|a y c|b, c|d (pues d es el mayor de los divisores comunes de a y b). Sin embargo, el caso a = b = 0 debe ser excluido; cualquier entero divide a 0 y es, por tanto, un divisor com´un de a y b, por lo que, en este caso, no existe un m´aximo com´un divisor. Esta definici´on puede obviamente extenderse al m´aximo com´un divisor de cualquier conjunto finito de enteros (no todos nulos).

Nota. Dos n´umeros enteros a y b se dicen coprimos o primos entre s´ı si no poseen factores comunes no triviales, esto es, si mcd(a, b) = 1.

Al igual que hicimos con la divisibilidad, recogemos en la siguiente Proposici´on algunas propiedades b´asicas del m´aximo com´un divisor.

Proposici´on 2.8 En las propiedades siguientes todos los n´umeros son enteros y |a| denotar´a el valor absoluto de a.

1) mcd(a, b) = mcd(b, a),

2) mcd(a, b, c) = mcd(mcd(a, b), c) = mcd(a, mcd(b, c)), 3) mcd(a, 0) = mcd(a, a) = |a|,

4) mcd(a, b) = mcd(−a, b) = mcd(|a|, |b|), 5) mcd(ca, cb) = |c|mcd(a, b),

6) mcd(a, b) = mcd(a, b + ac), 7) mcd  a mcd(a, b), a mcd(a, b)  = 1,

Una de las primeras aplicaciones del m´aximo com´un divisor que suele realizarse en la escuela es la reducci´on del tama˜no de numerador y denominador en la aritm´etica con n´umeros racionales. Obviamente, esto requerir´a, sobre todo si se piensa en n´umeros

(5)

2.2. ALGORITMO DE EUCLIDES. TEOREMA DE LAM ´E 29 de gran tama˜no, de un algoritmo eficiente1 para su c´alculo. Afortunadamente (no

siempre es el caso para otros problemas) se dispone de un m´etodo que, sorprenden-temente, se hallaba ya en los Elementos de Euclides. Seg´un D. Knuth, the oldest nontrivial algorithm that has survived to the present day.

2.2.

Algoritmo de Euclides. Teorema de Lam´

e

Trataremos, en esta Secci´on, de construir un algoritmo eficiente para el c´alculo del m´aximo com´un divisor y estudiar algunas de sus propiedades. Naturalmente, la propia definici´on de m´aximo com´un divisor proporciona un algoritmo para calcular mcd(a, b): construir la lista de divisores de a y b y tomar el mayor de los comunes. Sin embargo, para grandes n´umeros, este algoritmo es, ciertamente, inaplicable. El algoritmo de Euclides que estudiaremos para el c´alculo del m´aximo com´un divisor se basa en la sencilla observaci´on siguiente:

d|a y d|b ⇐⇒ d|a y d|r,

siendo r el resto de la divisi´on de a por b. Esto quiere decir que los divisores comunes de a y b son los divisores comunes de a y r, por lo que mcd(a, b) = mcd(b, r). El algoritmo de Euclides explota la idea anterior para simplificar el c´alculo del m´aximo com´un divisor reduciendo el tama˜no de los enteros sin alterar su m´aximo com´un divisor. Eliminando casos triviales, podemos suponer que a > b > 0. Sean r0 = a, r1 = b. Dividiendo, se tendr´a que r0 = q1r1 + r2 con 0 ≤ r2 < r1 = b.

Si r2 = 0, entonces b|a, por lo que mcd(a, b) = b y hemos terminado. Si r2 6= 0,

dividimos r1 entre r2 y escribimos r2 = q2r2 + r3 con 0 ≤ r3 < r2 y repetimos

el proceso. Dado que la sucesi´on de restos es decreciente (r1 > r2 > r3 > ...), en

alg´un momento habremos de encontrar un resto rn+1 igual a 0. Los dos ´ultimos

pasos podemos escribirlos de la forma rn−2 = qn−1rn−1+ rn con 0 < rn < rn−1, y

rn−1 = qnrn+ rn+1 con rn+1= 0.

Teorema 2.9 En el proceso anterior, rn es el m´aximo com´un divisor de a y b.

Adem´as, el m´aximo com´un divisor es ´unico.

1En el contexto inform´atico, eficiente quiere decir que, una vez convenientemente programado,

pueda ser ejecutado por un ordenador en un tiempo y utilizaci´on de recursos de memoria razonables. No nos entretendremos en discutir qu´e quiere decir razonable, que ser´ıa objeto de la asignatura Complejidad Computacional u otras.

(6)

Tras las consideraciones anteriores, podemos escribir el algoritmo de Euclides como sigue, donde rem(a, b) representa el resto de dividir a entre b:

Entrada :a, b ∈ Z mientras b 6= 0, hacer t ←− |a| a ←− |b| b ←− rem(t, a) salida :a

Pseudo–c´odigo del algoritmo de Euclides.

Naturalmente, el algoritmo anterior puede extenderse al c´alculo del m´aximo com´un divisor de m´as de dos enteros. Supongamos dados t enteros positivos a1, . . . , aty sea

R0 = (a1, . . . , at). Supongamos que i es el ´ındice de la coordenada m´as peque˜na de

R0. En este caso es f´acil ver que mcd(a1, . . . , at) es igual a

mcd(rem(a1, ai), . . . , rem(ai−1, ai), ai, rem(ai+1, ai), . . . , rem(at, ai))

Esta idea conduce al siguiente algoritmo.

entrada :(a1, a2, . . . , at) ∈ Zt

InicializarA := (|a1|, |a2|, . . . , |at|)

mientras A contenga, al menos, dos coordenadas no nulas hacer Calcular el ´ındice i del menor entero no nulo de A

A ←− (rem(a1, ai), . . . , rem(ai−1, ai), ai, rem(ai+1, ai), . . . , rem(at, ai))

salida :ai

Pseudo–c´odigo del algoritmo de Euclides para t enteros.

Ejemplo 2.10 Calcular el mcd de 120, 146 y 180. En este caso, se tiene: mcd(120, 146, 180) = mcd(120, 26, 60) = mcd(16, 26, 8) = mcd(0, 2, 8) = = mcd(0, 2, 0) = 2.

(7)

2.2. ALGORITMO DE EUCLIDES. TEOREMA DE LAM ´E 31

2.2.1.

Teorema de Lam´

e

Examinamos el algoritmo de Euclides sobre una entrada (a, b) tomando nota de cocientes y de restos. Si r0 = a y r1 = b, se tiene:

r0 = q1r1 + r2 r1 = q2r2 + r3 .. . (2.1) rn−2 = qn−1rn−1+ rn rn−1 = qnrn

Hemos probado con anterioridad que rn = mcd(a, b). Notemos, por otro lado, que

el ´ultimo cociente, qn es mayor o igual que 2 (salvo que n = 1).

Denotemos por E(a, b) el n´umero de divisiones que realiza el algoritmo de Euclides si el input es (a, b). El objetivo es probar una buena cota superior para E(a, b). Sea Fn el n–´esimo n´umero de Fibonacci que, recordemos, est´a definido por F0 = 0,

F1 = 1 y Fn= Fn−1+ Fn−2 si n ≥ 2.

Lema 2.11 Sean a y b enteros tales que a > b > 0 y supongamos que E(a, b) = n. Entonces, a ≥ Fn+2 y b ≥ Fn+1

Demostraci´on.– Utilizaremos la notaci´on de 2.1 y probaremos que r0 ≥ Fn+2 y

r1 ≥ Fn+1 por inducci´on en n.

El enunciado es cierto para n = 1. En este caso, el algoritmo de Euclides consta de una ´unica divisi´on, r0 = q0r1 y puesto que r0 > r1, los menores enteros que lo

verifican son r1 = 1 = F2 y r0 = 2 = F3.

Supongamos ahora que el enunciado es cierto para i < n; queremos probarlo para n. El primer paso del algoritmo de Euclides es r0 = q0r1+ r2 y sabemos que E(r1, r2) =

n − 1. Por lo tanto, r1 ≥ Fn+1 y r2 ≥ Fn. Por lo tanto, r0 ≥ r1+ r2 ≥ Fn+2.

A partir del Lema anterior y utilizando que Fn = αn− βn √ 5 , donde α = 1+ √ 5 2 y β = 1−√5 2 , se tiene

Corolario 2.12 Si a > b > 0, E(a, b) < c1log(u) + c2 − 2 + c3u−1, donde c1 = 1 log α = 2,08, c2 = log√5 log α = 1,67 y c3 = 1 √

5 log α = 0,93. (log logaritmo natural). Si

se escribe la cota anterior en t´erminos de la talla binaria de a (es decir, log2a) se obtiene, redondeando, que

(8)

Demostraci´on.– Supongamos que E(a, b) = n. Por el lema 2.11, sabemos que, en ese caso, a ≥ Fn+2. Entonces, a ≥ α n+2− βn+2 √ 5 > αn+2− 1 √ 5 .

En consecuencia, (n + 2) log α ≤ log(1 + a√5). Ahora, usando el hecho de que log(x + 1) = log x + log 1 +x1 y la estimaci´on log 1 + 1x < x1 para obtener

(n + 2) log α < log(a√5) + 1 a√5, se obtiene el resultado.

Observaci´on 2.13 Queda algo alejado del curso hacer consideraciones sobre la efi-ciencia de los algoritmos introducidos. Sin embargo, deje el lector que se le ofrezca un resultado que demuestra bien a las claras las posibilidades del Algoritmo de Eu-clides. A partir del resultado anterior se puede probar que el n´umero de operaciones binarias necesarias para calcular el mcd usando Euclides es

k · (log2a)(log2b)

Olvid´andonos de la constante k, si los enteros a y b tienen talla binaria 10000 (aprox-imadamente 3000 d´ıgitos en base 10), habr´a que realizar, m´as o menos, cien millones de operaciones binarias. Dado que, por ejemplo, los primeros procesadores Pentium realizaban entre 100 y 112 millones de operaciones binarias por segundo, un orde-nador equipado con uno de dichos procesadores, nos dar´ıa la respuesta en algo menos de un segundo.

Por otro lado, si usamos la factorizaci´on en producto de primos para calcular el m´aximo com´un divisor, la situaci´on no es, ni mucho menos, tan boyante. En la pr´actica, el mejor de los algoritmos de factorizaci´on conocidos (que utiliza t´ecnicas matem´aticas ciertamente sofisticadas) no puede factorizar, ni a´un usando el Super-Computer de IBM, enteros de varios cientos de d´ıgitos (aunque nadie ha probado a´un que nunca pueda encontrarse un algoritmo eficiente). Esta dificultad de la fac-torizaci´on es una de las ideas claves por la que el sistema criptogr´afico RSA que estudiaremos m´as adelante se haya convertido en el sistema criptogr´afico de uso com´un.

Por ´ultimo, se˜nalemos que la falta de una prueba que demuestre que no es posible encontrar un algoritmo eficiente para la factorizaci´on est´a estrechamente ligada a uno de los problemas centrales de la Inform´atica como es la Conjetura de Cook2.

2En la p´agina http://www.claymath.org/prizeproblems/pvsnp.htm del Clay Mathematics

Institute existe informaci´on (sencilla descripci´on del problema, art´ıculo m´as profundo sobre el asunto e incluso un v´ıdeo de una charla divulgativa) sobre esta conjetura. De hecho, el Instituto Clay ofrece un mill´on de d´olares a quien sea capaz de resolver esta conjetura.

(9)

2.3. IDENTIDAD DE B ´EZOUT. ALGORITMO EXTENDIDO DE EUCLIDES33

2.3.

Identidad de B´

ezout. Algoritmo extendido de

Euclides

Definici´on 2.14 Dados enteros a y b y su m´aximo com´un divisor d = mcd(a, b), se denomina identidad de B´ezout a una expresi´on de la forma

ax + by = d x, y ∈ Z.

El objetivo fundamental de esta secci´on, junto a la prueba del Teorema Fundamental de la Aritm´etica, es el demostrar que siempre existen tales enteros x e y y encontrar un algoritmo para su c´alculo. Pero antes, veamos un ejemplo. Aplicando el algoritmo de Euclides a a = 180 y b = 146, se tiene la siguiente sucesi´on de identidades:

180 = 1 ∗ 146 + 34 (2.2)

146 = 4 ∗ 34 + 10 (2.3)

34 = 3 ∗ 10 + 4 (2.4)

10 = 2 ∗ 4 + 2 (2.5)

4 = 2 ∗ 2 (2.6)

Supongamos que queremos encontrar una identidad de B´ezout, es decir, encontrar enteros x e y tales que

180 ∗ x + 146 ∗ y = 2

Para ello, podemos volver hacia atr´as en las identidades anteriores, es decir, de (2.5) se tiene

2 = 10 − 2 ∗ 4. Ahora, de (2.4) podemos despejar 4 y llegar a

2 = 7 ∗ 10 − 2 ∗ 34. De nuevo, usando (2.3) llegamos a

2 = 7 ∗ 146 − 30 ∗ 34. Finalmente, usando (2.2) se tiene

2 = −30 ∗ 180 + 37 ∗ 146.

Esta forma de proceder implicar´ıa que para resolver una identidad de B´ezout, habr´ıamos de aplicar el algoritmo de Euclides (tomando nota de restos y cocientes)

(10)

y despu´es volver hacia atr´as utilizando dichos restos y cocientes. Sin embargo, pode-mos organizar los c´alculos de manera que esto no sea necesario. Para ello, usaremos los cocientes para construir xk e yk tales que:

axk+ byk= rk (0 ≤ k ≤ n).

De este modo, si k = n, tendr´ıamos resuelto nuestro problema.

Para k = 0, basta tomar x0 = 1 e y0 = 0 y si k = 1, x1 = 0 e y1 = 1. Ahora

supongamos que hemos encontrado xk e yk para todo ´ındice 0 ≤ k ≤ s y queremos

calcular xs+1 e ys+1. Se tendr´ıa:

rs+1 = rs−1− rsqs= axs−1+ bys−1− qs(axs+ bys) = a(xs−1− qsxs) + b(ys−1− qsys)

Lo que hemos visto es que las sucesiones de enteros definidas por: x0 = 1, x1 = 0, xk+1 = xk−1− qkxk

y0 = 0, y1 = 1, yk+1 = yk−1− qkyk

verifican

axk+ byk= rk (0 ≤ k ≤ n).

De paso, esta construcci´on demuestra que:

Teorema 2.15 Para todo par de enteros a y b no los dos nulos, existen enteros x e y tales que se verifica la identidad de B´ezout:

ax + by = mcd(a, b)

Ejercicio. Probar que a y b son coprimos si, y s´olo si, existen enteros x e y tales que ax + by = 1.

Interpretaci´on matricial del Algoritmo extendido de Euclides

Llamemos, al igual que antes, r0 = a y r1 = b. Asimismo, consideremos las matrices

R0 =  x0 x1 y0 y1  = I S0 =   r0 r1 x0 x1 y0 y1  

Obs´ervese que det(R0) = 1. El primer paso en el algoritmo de Euclides extendido

(11)

2.3. IDENTIDAD DE B ´EZOUT. ALGORITMO EXTENDIDO DE EUCLIDES35 calcular x2 = x0− x1q1 e y2 = y0− y1q1. En consecuencia, podemos pensar que si

llamamos Q1 a la matriz Q1 =  0 1 1 −q1  , se tiene R1 =  x1 x2 y1 y2  = R0Q1 y S1 =   r1 r2 x1 x2 y1 y2  = S0Q1

Adem´as, es f´acil ver que este producto por Q1 consiste, en realidad, en restar a la

primera columna de S0 la segunda multiplicada por q1 e intercambiar las columnas

de S0. Por otro lado, se tiene que det(R1) = −1, es decir, x1y2− x2y1 = −1 lo que

implica que mcd(x2, y2) = 1. Este proceso se contin´ua obteniendo matrices

Rk=  xk xk+1 yk yk+1  = Rk−1Qk = R0Q1· · · Qk y Sk =   rk rk+1 xk xk+1 yk yk+a  = Sk−1Qk = S0Q1· · · Qk que verifican det(Rk) = (−1)k, axk+ byk = rk, axk+1+ bxk+1 = rk+1,

lo que, en particular, implica que mcd(xk, yk) = 1. El algoritmo sigue hasta que en

el lugar (1, 2) de una de las matrices Sk aparezca un cero. De este modo, si en el

algoritmo extendido de Euclides se realizan n divisiones, se tendr´a

Rn=  xn xn+1 yn yn+1  = Rn−1Qn y S1 =   rn 0 xn xn+1 yn yn+1  = Sn−1Qn,

con lo que se tiene:

axn+ byn = mcd(a, b), axn+1+ byn+1= 0, mcd(xn, yn) = mcd(xn+1, yn+1) = 1.

La ´ultima de las igualdades se obtiene de det(Rn) = (−1)n. En particular se tendr´a,

si b 6= 0, que la fracci´on yn+1

xn+1 es reducida e igual a −

a

b. Dicho de otra manera,

|xn+1| =

|b|

mcd(a, b) e |yn+1| =

|a| mcd(a, b)

(12)

De hecho, la construcci´on anterior no s´olo proporciona una prueba del Teorema sino que nos da un algoritmo para su c´alculo.3 En la forma en la que aparece descrito a continuaci´on, coc(A, B) denota el cociente de la divisi´on eucl´ıdea de A por B.

Input :a, b ∈ Z Inicializar : S :=   a b 1 0 0 1   while s12 6= 0, do Q ← 0 1 1 −coc(s11, s12)  S ← S · Q endwhile Output : s11, x = s21, y = s31

Algoritmo Extendido de Euclides.

Obs´ervese que como subproducto del algoritmo anterior, se obtienen xn+1 e yn+1

cuya utilidad se ver´a en la resoluci´on de ecuaciones diof´anticas lineales

A partir del Teorema 2.15, podemos demostrar la anunciada unicidad de la factori-zaci´on de un n´umero entero, pero antes un resultado previo.

Teorema 2.16 Si a|bc y mcd(a, b) = 1, entonces a|c. En particular, si p es primo y p|ab, entonces p|a o p|b.

Demostraci´on.– Gracias a la identidad de B´ezout sabemos que existen enteros x e y tales que ax + by = 1. Multiplicando por c se tiene c = cax + cby, con lo que a divide a los dos sumandos a la derecha y, por lo tanto, a c.

A partir del Teorema anterior y pagando un bajo precio, en forma de sencillo argu-mento inductivo, se puede probar que

Si p es primo y p|a1· · · ak, entonces p divide a alg´un ai

Todas estas disquisiciones realizadas sobre la relaci´on entre n´umeros primos y di-visibilidad nos ponen en condiciones de probar la unicidad, ya anunciada, de la expresi´on de un n´umero entero como producto de ±1 y n´umeros primos.

(13)

2.4. ECUACIONES DIOF ´ANTICAS LINEALES 37 Teorema 2.17 (Teorema fundamental de la aritm´etica) Todo entero positi-vo

puede expresarse como producto de potencias no triviales de n´umeros primos n = pα1 1 p α2 2 · · · p αk k

y, salvo, reordenaci´on de los factores, esta factorizaci´on es ´unica.

Demostraci´on del Teorema Fundamental de la Aritm´etica.– La existencia de la fac-torizaci´on se sigue del Teorema 2.4 y, por lo tanto, s´olo queda probar la unicidad. Sea S el conjunto de enteros positivos que admiten dos factorizaciones distintas y, supongamos, por reducci´on al absurdo, que este conjunto es no vac´ıo. Por la buena ordenaci´on de N, sabemos que, en ese caso, el conjunto S admite m´ınimo, digamos n. Se tendr´an dos factorizaciones distintas de n:

n = pα1 1 p α2 2 · · · p αk k y n = qβ1 1 q β2 2 · · · qβss.

Es claro que p1 divide a qβ11q β2

2 · · · qβss y, por lo tanto, a alguno de los q βi

i . A´un m´as, se

tendr´a que p1 divide a alguno de los qi lo que implica que es igual a alguno de los qi.

Reordenando los qi, podemos suponer que p1 = q1. En consecuencia, se tendr´a que

n p1 = pα1−1 1 p α2 2 · · · p αk k = q β1−1 1 q β2 2 · · · q βs s .

Puesto que las factorizaciones de n consideradas eran distintas, tenemos dos facto-rizaciones distintas del entero positivo pn

1 < n, lo que contradice el hecho de que n

sea el m´ınimo de S.

2.4.

Ecuaciones diof´

anticas lineales

Se llaman ecuaciones diof´anticas a aqu´ellas de las que nos interesan las soluciones enteras. Un caso interesante es de las ecuaciones diof´anticas lineales en dos variables

aX + bY = c a, b, c ∈ Z (2.7)

Puesto que el caso a = b = 0 no tiene ning´un inter´es, supondremos que (a, b) 6= (0, 0). Utilizando el Algoritmo de Euclides extendido, sabemos encontrar una soluci´on si c = mcd(a, b). Del mismo modo, es obvio encontrar una soluci´on si mcd(a, b) divide a c. Dicho de otra manera, la ecuaci´on diof´antica tiene soluci´on si c divide a mcd(a, b).

(14)

¿Y si mcd(a, b) no divide a c? En este caso, no puede haber soluci´on: si existiesen enteros x e y tales que

ax + by = c,

se tendr´ıa que todo factor com´un de a y de b tambi´en lo ser´ıa de c. En particular, el m´aximo com´un divisor de a y de b dividir´ıa a c.

Recopilando, hemos demostrado que la ecuaci´on diof´antica 2.7 tiene soluci´on si, y s´olo si, c divide a mcd(a, b). De hecho, sabemos c´omo encontrar una soluci´on: aplicamos el algoritmo extendido de Euclides a a y b obteniendo x0 e y0 tales que

ax0 + by0 = mcd(a, b). Es claro que (mcd(a,b)c x0,mcd(a,b)c y0) es soluci´on de 2.7. Sin

embargo, hasta ahora no nos hemos preocupado por saber si hay m´as de una soluci´on y, en el caso de que haya m´as de una, saber cu´ales son todas las soluciones. Para analizar este problema, estudiemos la ecuaci´on diof´antica

aX + bY = 0 (2.8)

por cuanto si (x1, y1) es soluci´on cualquiera de la ecuaci´on diof´antica 2.7 y (x0, y0)

soluci´on de 2.8, es f´acil ver que (x1+ x0, y1 + y0) es soluci´on de 2.7. Una soluci´on

obvia ( y la m´as “peque˜na”) a la ecuaci´on diof´antica 2.8 es  b mcd(a, b), − a mcd(a, b)  , pero tambi´en lo son todas las de la forma

 t b mcd(a, b), −t a mcd(a, b)  , con t ∈ Z. As´ı pues, si (x1, y1) es soluci´on cualquiera de 2.7 el conjunto

{  x1+ b mcd(a, b)t, y1− a mcd(a, b)t  : t ∈ Z},

es un conjunto de infinitas soluciones de 2.7. ¿Hay m´as? Para verlo, sea (x, y) una soluci´on de 2.7. Por lo tanto,

ax1+ by1 = c y

ax + by = c.

Restando, se tiene a(x − x1) + b(y − y1) = 0 y, dividiendo por mcd(a, b),

a

mcd(a, b)(x − x1) + b

(15)

2.5. M´INIMO COM ´UN M ´ULTIPLO 39 Ahora, supongamos que b 6= 0 (si b = 0 y a 6= 0, har´ıamos el mismo argumento que sigue con a). Como

mcd  a mcd(a, b), b mcd(a, b)  = 1

y mcd(a,b)b divide a (x − x1)mcd(a,b)a , se tiene que mcd(a,b)b divide a (x − x1), es decir,

x − x1 = t

b

mcd(a, b), para alg´un t ∈ Z. Sustituyendo en 2.9, se obtiene que

y − y1 = −t

b mcd(a, b).

Los argumentos anteriores prueban que el siguiente resultado es cierto. Proposici´on 2.18 Dados enteros a, b, c la ecuaci´on diof´antica

aX + bY = c

tiene soluci´on si, y s´olo si, mcd(a, b) divide a c. En caso de que tenga soluci´on tiene infinitas, dadas por

{  x1+ b mcd(a, b)t, y1− a mcd(a, b)t  : t ∈ Z}, donde (x1, y1) es una soluci´on particular cualquiera.

De hecho, hemos encontrado un algoritmo para resolver ecuaciones diof´anticas de la forma 2.7, ya que basta encontrar una soluci´on particular cualquiera y, para ello podemos utilizar el algoritmo extendido de Euclides.

2.5.

M´ınimo com´

un m´

ultiplo

Definici´on 2.19 Si a y b son dos enteros, un m´ultiplo com´un de a y b es un entero c tal que a|c y b|c. Si a y b son ambos no nulos, existen m´ultiplos comunes positivos (por ejemplo |ab|), por lo que la buena ordenaci´on de N nos asegura la existen-cia de un m´ınimo com´un m´ultiplo, es decir, el menor m´ultiplo com´un positivo. Normalmente, se escribe mcm(a, b).

De hecho, se tiene que el m´ınimo com´un m´ultiplo de a y b es el ´unico entero positivo m que verifica:

(16)

2) Si c es un entero que verifica a|c y b|c, entonces, m|c (por ser el menor de los m´ultiplos comunes).

El m´ınimo com´un m´ultiplo est´a estrechamente ligado al m´aximo com´un divisor. Esta ligaz´on viene dada por el siguiente resultado.

Teorema 2.20 Sean a y b dos enteros. Se tiene

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

Demostraci´on.– Se trata de probar que el entero positivo

m = |ab|

mcd(a, b)

es el m´ınimo com´un m´ultiplo de a y b, es decir, que verifica las dos propiedades anteriores.

En primer lugar, es claro que a|m por cuanto mcd(a, b) divide a b y, por lo tanto, podemos escribir

m = |a| · |b| mcd(a, b). De igual forma puede verse que b|m.

Por otro lado, supongamos que c es un entero que es m´ultiplo com´un de a y b, es decir,

c = au para alg´un entero u y c = bv para alg´un entero v. Se tiene, entonces que

a mcd(a, b)u = b mcd(a, b)v y, como a mcd(a,b) y b

mcd(a,b) son primos entre s´ı, que a

mcd(a,b) divide a v, es decir,

v = k a

mcd(a, b) para alg´un entero k. Finalmente, se tendr´a

c = bv = k ab

(17)

2.6. PROBLEMAS PROPUESTOS 41

2.6.

Problemas propuestos

Problema 2.1 .- (Expresi´on de n´umeros natural en bases distintas de la decimal) Demostrar que, dado un natural q > 0, todo n´umero natural n puede expresarse de manera ´unica en la forma

akqk+ ak−1qk−1+ · · · + a1q + a0,

con 0 ≤ ak< q, donde k el ´unico natural para el que se verifica qk ≤ n < qk+1.

Problema 2.2 .- Sea

akak−1. . . a1a0, ai ∈ {0, 1}

la expresi´on en base 2 (binaria) de un cierto n´umero natural. Expresar, en base 2, cociente y resto de la divisi´on por 2 de dicho n´umero.

Problema 2.3 .- Si (A, +, ·) es un anillo conmutativo con elemento unidad, un subconjunto I se llama ideal si

a + b ∈ I para todo a, b ∈ I x ∈ A y a ∈ I =⇒ xa ∈ I.

(1) Probar que si a1, . . . , an son elementos cualesquiera del anillo A, el conjunto

(a1, . . . , an) = {a1x1+ a2x2+ . . . + anxn: xi ∈ A}

es un ideal de A. Todo ideal que se puede expresar de esta forma, se dice finitamente generado. Si n = 1, se denomina principal.

(2) Probar que en Z todo ideal es principal. Un anillo sin divisores de cero y que verifica esta propiedad se dice dominio de ideales principales.

(3) Sean ahora, (a) y (b) dos ideales de Z. ¿Qui´en es el menor ideal que contiene a ambos? ¿Qui´en es la intersecci´on de (a) y (b)?

Problema 2.4 .- Dados a y b enteros no nulos, los podemos escribir en la forma a = ± n Y i=1 pαi i , a = ± n Y i=1 pβi i , αi, βi ≥ 0.

donde los pi son todos los primos que dividen a ab. Comprobar que

mcd(a, b) = n Y i=1 pmin{αi,βi} i y mcm(a, b) = n Y i=1 pmax{αi,βi} i

(18)

Problema 2.5 .- Para cada uno de los pares de enteros siguientes, calcular el m´aximo com´un divisor utilizando el algoritmo de Euclides:

(i) 34, 21; (ii) 136, 51; (iii) 481, 325; (iv) 8711, 3206; (v) 1134, 1221; En cada uno de los casos, resuelve la correspondiente identidad de B´ezout.

Problema 2.6 .- El algoritmo de Euclides puede hacerse ligeramente m´as r´apido si permitimos restos negativos en la forma que sigue

ri−1= riqi+ ri+1 con − |ri/2| < ri+1≤ |ri/2|.

Por ejemplo, si aplicamos este m´etodo para calcular el m´aximo com´un divisor de 59 y 49, se tiene

mcd(59, 49) = mcd(49, 10) = mcd(10, −1) = mcd(−1, 0) = 1.

Utilizar este algoritmo, conocido como del m´ınimo resto, para calcular los m´aximos comunes divisores del ejercicio anterior y resolver las correspondientes identidades de B´ezout.

Problema 2.7 .- Demostrar las siguientes propiedades del m´aximo com´un divisor.

1. Si a y b son pares, mcd(a, b) = 2mcd a 2,

b 2



2. Si a es par y b es impar, mcd(a, b) = mcda 2, b



3. Si a y b son impares, mcd(a, b) = mcd |a − b| 2 , b



A partir de las propiedades anteriores, construir un algoritmo para calcular el m´ axi-mo com´un divisor de dos enteros realizando ´unicamente divisiones por 2. (Nota: Este algoritmo se conoce como algoritmo binario para el c´alculo del mcd y es debido a J. Stein que public´o su resultado en 1967).

Problema 2.8 .- Consid´erese la siguiente variante del algoritmo binario para el c´omputo de mcd(a, b). Asumamos que a y b no son los dos pares.

1) Si a es par, sustituimos (a, b) por (a/2, b). 2) Si b es par, sustituimos (a, b) por (a, b/2).

(19)

2.6. PROBLEMAS PROPUESTOS 43 El algoritmo consiste en repetir los pasos (1)-(3) en ese orden. Si a o b es cero, paramos y devolvemos como mcd(a, b) el otro n´umero en valor absoluto. Por ejemplo, para calcular mcd(15, 6) utilizando este algoritmo, se tendr´ıa:

(15, 6) → (15, 3) → (9, 6) → (9, 3) → (6, 3) → (3, 3) → (3, 0)

Demostrar que este algoritmo siempre acaba y que la respuesta es correcta. (Indi-caci´on: Para probar que el algoritmo termina, considera la aplicaci´on f (a, b) = a2+b2 y comprueba que cada vez que se da un paso en el algoritmo su valor decrece). Problema 2.9 .- Probar las siguientes propiedades de la sucesi´on de Fibonacci:

Dos t´erminos consecutivos de la sucesi´on son coprimos, es decir, mcd(Fn−1, Fn) = 1 para n ≥ 1

El mayor natural menor que Fn+2/Fn+1 (escrito bFn+2/Fn+1c) es 1.

El resto de la divisi´on de Fn+1 por Fn es Fn−1.

Problema 2.10 .- Descomponer de todas las formas posibles el n´umero racional 100/273 en suma de dos fracciones positivas con denominadores 21 y 13.

Problema 2.11 .- (Algoritmo extendido de Euclides para t enteros) Bas´andose en la interpretaci´on matricial del algoritmo extendido de Euclides, dise˜nar un algoritmo para calcular, dados enteros a1, . . . , at, una identidad de B´ezout del tipo

a1x1+ a2x2+ · · · + atxt= mcd(a1, . . . , at).

Aplicar dicho algoritmo a la resoluci´on de ecuaciones diof´anticas de la forma a1X1+ a2X2+ · · · + anXn = b.

Problema 2.12 .- Para cada una de las ecuaciones diof´anticas siguientes, estudiar si tienen soluci´on y, en su caso, calcular todas las soluciones:

25X + 36Y = 10 ; 40X + 50Y = 3 ;

200X − 1768Y = 8 ; 213X + 1123Y = 18 ;

30X + 1107Y + 3030303Z = 25 ; 10X + 11Y + 20Z = 10 ;

(20)

Problema 2.13 .- Resolver el sistema de ecuaciones diof´anticas lineales: n11X + 3Y + 5Z = 20

3X + 7Y + 10Z = 10

Problema 2.14 .- Supongamos que el m´aximo com´un divisor de a y b es un primo p. ¿Cu´ales son los posibles valores del m´aximo com´un divisor de a2 y b? ¿Y del

m´aximo com´un divisor de a3 y b? Si m.c.d(a, b) = p, ¿cu´anto vale m.c.d(a3, b3)? Problema 2.15 .- Una empresa alemana est´a replante´andose sus planes de ac-tividad. Tiene una f´abrica en Espa˜na con un millar de empleados espa˜noles y un centenar de ejecutivos alemanes y est´a estudiando una reestructuraci´on de plantilla. Obviamente sin informar a los sindicatos; aunque estos sospechan que va a haber alg´un despido. Un representante sindical encuentra en una fotocopiadora un docu-mento del estudio de reestructuraci´on de plantilla (olvidado por error, obviamente) en que se puede leer

El 80.9 por ciento de los que van a ser despedidos est´a casado.

El 43.5 por ciento de los que van a ser despedidos est´a pagando hipoteca. Deducir qu´e piensan hacer los alemanes con la empresa.

Problema 2.16 .- Un turista estadounidense va a pasar unos d´ıas de vacaciones en Par´ıs, Madrid y Cracovia y desea cambiar 810 d´olares en euros y en zlotys. Sabiendo que el euro se cotiza a 0,90 d´olares y un zloty a 0,24, ¿de cu´antas formas posibles puede hacer el cambio si necesita para su estancia en Cracovia, al menos, 3000 zlotys?

Problema 2.17 .- Sean dados dos n´umeros naturales no nulos a y b. ¿Es posible es-cribir el n´umero racional m.c.m.1 (a,b) como suma de dos racionales de denominadores a y b? En caso de respuesta afirmativa, esbozar un algoritmo para el c´alculo de dichos racionales.

Problema 2.18 .- Una cierta empresa fabrica tres productos A, B y C que vende a 590, 410 y 300 euros respectivamente. Calcular cu´antas unidades de cada producto se vendieron en un d´ıa determinado sabiendo que:

La recaudaci´on por la venta de los productos fue de 32420 euros. Se vendieron m´as unidades de A que de B.

El n´umero de unidades de C vendidas fue mayor que 83.

Problema 2.19 .- Resolver el siguiente problema: Si un gallo cuesta siete mon-edas, una gallina cinco monedas y tres pollos una moneda, ¿de cu´antas formas distintas pueden comprarse un total de trescientas aves (gallos, gallinas y pollos) si disponemos de quinientas monedas? Escribir cada una de estas formas posibles.

(21)

2.6. PROBLEMAS PROPUESTOS 45 Problema 2.20 .- Una compa˜n´ıa a´erea ofrece tres tipos de billetes en sus vuelos de Madrid a Par´ıs. Los billetes de clase preferente cuestan 150 euros, los de clase turista con derecho a comida 110 y el resto 67. Si, en un vuelo concreto un total de 100 pasajeros pagaron un total de 10766 euros, ¿cu´antos billetes de cada tipo se vendieron?

Problema 2.21 .- Probar que para cada n´umero natural n, existen siempre n n´umeros compuestos consecutivos.

Problema 2.22 .- Si mn es un cuadrado perfecto y mcd(m, n) = 1, demostrar que m y n son tambi´en cuadrados perfectos.

Problema 2.23 .- (N´umeros de Fermat)

i) Demostrar que si 2m+ 1 es primo, m es una potencia de 2, es decir, m = 2n para alg´un natural n.

Nota. Los n´umeros de la forma 22n + 1 se llaman n´umeros de Fermat y si son primos, se les dice primos de Fermat. Pierre de Fermat (1601-1665) con-jetur´o que todos los n´umeros de la forma 22n + 1 eran primos, pues pudo

comprobar que eso era cierto para n = 0, 1, 2, 3, 4. Sin embargo, en 1732 Leon-hard Euler (1707-1783) demostr´o que 641 era factor de 232+ 1 = 4294967297.

A fecha de hoy, los ´unicos primos de Fermat conocidos son los que se corre-sponden con n = 0, 1, 2, 3, 4, aunque no se sabe si hay m´as.

ii) Demostrar que dos n´umeros de Fermat distintos son siempre primos entre s´ı. Problema 2.24 .- Un primo de Mersenne es un n´umero primo de la forma 2n− 1.

Demostrar que si 2n− 1 es primo, n ha de ser primo.

Nota. En 1644, Mersenne conjetur´o que 2p − 1 era primo para p = 2, 3, 5, 7, 13,

17, 19, 31, 67, 127, 257 y para ning´un otro primo menor que 257. En la lista de Mersenne, hab´ıa errores por cuanto los n´umeros correspondientes a 67 y 257 no son primos y le faltaban los correspondientes a 61 y 89. A fecha de hoy, s´olo se conocen 38 primos de Fermat, el mayor de los cuales es 26972593−1, n´umero ´este que tiene m´as

de 2 millones de d´ıgitos decimales. Una lista de los primos de Mersenne conocidos puede verse en http://www.utm.edu/research/primes/mersenne.shtml#known.

Problema 2.25 .- Dado un entero positivo n, sea σ(n) = P

d|n

d la suma de todos sus divisores positivos. Por ejemplo, σ(27) = 1 + 3 + 9 + 27 = 40. Demostrar que si mcd(m, n) = 1, σ(nm) = σ(n)σ(m) y encontrar una f´ormula para calcular σ(n) a partir de la descomposici´on de n en factores primos.

(22)

Problema 2.26 .- Un n´umero perfecto es un entero positivo que es igual a la suma de sus divisores distintos de ´el mismo (p.e., 6 es perfecto pues 6 = 1 + 2 + 3). Demostrar que los n´umeros perfectos pares son exactamente los de la forma 2k−1(2k− 1), con 2k− 1 un primo de Mersenne. (Indicaci´on: Para ver que un n´umero

perfecto par tiene esa forma, escr´ıbelo primero en la forma 2k−1n0 con n0 impar,

demostrar que n0 es divisible por 2k− 1 y comprueba que n0 tiene que ser primo

estudiando σ(n0)).

Nota: No se sabe si existen n´umeros perfectos impares. Por otro lado, los primeros n´umeros perfectos son: 6 = 21(22− 1), 28 = 22(23 − 1), 496 = 24· (25− 1), 8128 =

26· (27− 1), 33550336 = 212(213− 1),...

Problema 2.27 .- Sean a y b n´umeros positivos coprimos. Demostrar que para todo entero positivo n > ab, existen n´umeros enteros positivos x e y tales que

n = ax + by

A partir de lo anterior, deducir que todo n´umero entero > 11 puede escribirse como suma de dos n´umeros compuestos.

Referencias

Documento similar

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

Por PEDRO A. EUROPEIZACIÓN DEL DERECHO PRIVADO. Re- laciones entre el Derecho privado y el ordenamiento comunitario. Ca- racterización del Derecho privado comunitario. A) Mecanismos

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados