Equações Diofantinas Lineares Equações, com uma ou mais incógnitas, e que se procuram soluções inteiras esignam-se habitualmente por Equações iofantinas. Vamos apenas consierar as equações iofantinas lineares, isto é, equações o tipo ax + by = c, com a, b, c Z. Lema Sejam a e b inteiros não ambos nulos tais que mc(a, b) = 1. Se ax + by = 0, para certos X, Y Z, então existe n Z tal que X = nb e Y = na. Demonstração. Suponhamos que ax + by = 0, para certos X, Y Z. Se a = 0, como mc(a, b) = 1, então b = ±1 e a equação fica 0X + (±1)Y = 0. Logo, Y = 0 = n 0 e X = n (±1), para qualquer n Z. Se a 0, e ax = by segue que a by. Como mc(a, b) = 1 então a Y. Isto significa que existe um inteiro n tal que an = Y. Substituino Y na equação inicial obtemos X = nb. Álgebra (Curso e CC) Ano lectivo 2005/2006 47 / 83
Teorema Sejam a, b Z não simultaneamente nulos e = mc(a, b). As soluções inteiras a equação ax + by = 0 são pares a forma com n Z. X = nb e Y = na Demonstração. Suponhamos que existem X, Y Z tais que ax + by = 0. Diviino esta igualae por, obtemos a X + b Y = 0. Como mc( a, b ) = 1, então, existe n Z tal que X = n b e Y = n a. Como para qualquer n Z, a nb soluções inteiras a equação ax + by = 0 são pares a forma com n Z. + b na X = nb = nab+nab e Y = na = 0, concluimos que as Álgebra (Curso e CC) Ano lectivo 2005/2006 48 / 83
Poemos agora provar o caso geral. Teorema Sejam a, b, c Z, com a e b não simultaneamente nulos, e seja = mc(a, b). A equação ax + by = c tem solução inteira se e só se c. Neste caso, existem infinitas soluções inteiras aas por pares a forma xc + nb yc na X = e Y = com n Z e x, y Z : = xa + yb. Álgebra (Curso e CC) Ano lectivo 2005/2006 49 / 83
Demonstração. A equação ax + by = c tem solução inteira se e só se c. ( ) Suponhamos que ax + by = c tem solução, isto é, que existem X, Y Z tais que ax + by = c. Como a e b, então ax + by, ou seja, c. ( ) Suponhamos que c. Existem inteiros x e y tais que = ax + by. Multiplicano ambos os membros pelo inteiro c xc, obtemos c = a + b yc. Fazeno X 0 = xc yc e Y0 = temos uma solução inteira a equação. Resta provar a seguna parte o teorema. Suponhamos que o par orenao e inteiros (X, Y ) é uma solução e ax + by = c. Subtraino, membro a membro, as igualaes ax 0 + by 0 = c e ax + by = c vem que a(x 0 X ) + b(y 0 Y ) = 0. E, o par orenao (X 0 X, Y 0 Y ) é uma solução inteira a equação ax + by = 0. Sabemos que as soluções e ax + by = 0 são a forma X = nb n Z. Portanto, X 0 X = nb Y = yc na, com n Z. e Y 0 Y = na e Y = na, com e, ou seja, X = xc+nb Álgebra (Curso e CC) Ano lectivo 2005/2006 50 / 83
O Teorema anterior poe escrever-se na forma e um algoritmo. Algoritmo (Soluções e uma equação iofantina linear) Input: termos a, b, c Z, a, b não ambos nulos, a equação ax + by = c Determinar mc(a, b) e x, y Z tais que mc(a, b) = ax + by (utilizano o Algoritmo e Euclies - versão alargaa) mc(a, b) if c then Output: Não existem soluções inteiras else X x c+n b, Y y c n a, com n Z en Output: X e Y, forma geral as soluções inteiras a equação ax + by = c Álgebra (Curso e CC) Ano lectivo 2005/2006 51 / 83
gap> a:=1492;; b:=1066;; c:=-4;; gap> L:=Gcex(a,b); rec(gc:=2,coeff1:=-5,coeff2:=7,coeff3:=533,coeff4:=-746) gap> :=L.gc;; x:=l.coeff1;; y:=l.coeff2;; gap> IsInt(c/); true # logo a equacao aa tem solucao # gap> = x*a + y*b; true gap> SolEqDiofantinaLinear:=n->[(x*c+n*b)/,(y*c-n*a)/]; function( n )... en gap> SolEqDiofantinaLinear(0); [ 10, -14 ] gap> SolEqDiofantinaLinear(1); [ 543, -760 ] gap> SolEqDiofantinaLinear(9376); [ 4997418, -6994510 ] Álgebra (Curso e CC) Ano lectivo 2005/2006 52 / 83 Exemplo Com a ajua o GAP vamos eterminar soluções a equação iofantina linear 1492X + 1066Y = 4.
Definição (Mínimo Múltiplo Comum) O mínimo múltiplo comum e ois inteiros a e b não nulos é o menor inteiro positivo que é simultaneamente múltiplo e ambos. Vamos enotar este inteiro por mmc(a, b). Exemplo Vamos eterminar o mínimo múltiplo comum e 10 e 12. Começamos por consierar os conjuntos os múltiplos positivos os ois números: M 10 = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130,...} e D 12 = {12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132...}. Ora D 10 D 12 = {60, 120,...}. Logo mmc(10, 12) = min D 10 D 12 = 60. Exercício Construa uma função GAP para eterminar o mínimo múltiplo comum e ois números inteiros não nulos. Álgebra (Curso e CC) Ano lectivo 2005/2006 53 / 83
A função GAP LcmInt permite eterminar o mínimo múltiplo comum e ois inteiros iferentes e 0. gap> LcmInt(23,12); 276 gap> Teorema Sejam a e b inteiros positivos. Qualquer múltiplo comum e a e b é múltiplo e mmc(a, b). Demonstração. Seja s um inteiro múltiplo comum e a e b. Diviamos s por m = mmc(a, b). Existem números inteiros q e r tais que s = mq + r, com 0 r < m. Done, r = s mq e portanto r é um múltiplo comum e a e b (por s e m o serem). Como r é menor o que m, não poe ser positivo, pois m, por efinição, é o menor múltiplo comum positivo e a e b. Portanto r = 0 e s m. Álgebra (Curso e CC) Ano lectivo 2005/2006 54 / 83
Proposição Sejam a e b inteiros positivos. (i) Seno n N, tem-se mmc(na, nb) = n mmc(a, b). (ii) Se for um ivisor comum positivo e a e b, então mmc ( a, ) b = 1 mmc(a, b). Demonstração. (i) Sejam n N e h = mmc(a, b). Pretenemos provar que mmc(na, nb) = nh. Ora h é um múltiplo comum e a e b, one nh é um múltiplo comum e na e nb. Portanto, mmc(na, nb) nh. Por outro lao, temos que mmc(na, nb) = ina = jnb, para alguns i, j inteiros positivos. Como ina = jnb é múltiplo comum e a e b, então é múltiplo e h (pelo mesmo resultao anterior) e, portanto, é múltiplo e nh. Assim, mmc(na, nb) é multiplo e nh, pelo que mmc(na, nb) nh. Logo, mmc(na, nb) = nh, ou seja, mmc(na, nb) = n mmc(a, b). (ii) Seja um ivisor positivo comum a a e a b. Por (i) temos que mmc(a, b) = mmc ` a, ` b = mmc a,. b Álgebra (Curso e CC) Ano lectivo 2005/2006 55 / 83
Teorema (Relação entre o MDC e o MMC) Sejam a e b inteiros positivos. Então mmc(a, b) mc(a, b) = a b. Demonstração. Se mc(a, b) = 1, basta provar que mmc(a, b) = a b. Como a mmc(a, b), existe q N tal que mmc(a, b) = qa. Como também b mmc(a, b), tem-se que b qa. Dao que a e b são primos entre si, então b q, ou seja, q = tb, para algum t N. Constatamos assim que mmc(a, b) = tab e, portanto, que mmc(a, b) ab. Mas, como mmc(a, b) é, por efinição, o menor os múltiplos comuns positivos e a e b e ab é um múltiplo comum positivo e a e b, só poe ser mmc(a, b) = ab. Suponhamos agora que mc(a, b) = > 1. Então mc ` a, b = 1. Estamos, agora, nas conições a primeira parte esta prova, assim mmc ` a, ` b mc a, b = a b 2. Multiplicano ambos os membros por obtemos que mmc(a, b) mc(a, b) = a b, como preteníamos. Álgebra (Curso e CC) Ano lectivo 2005/2006 56 / 83
Números Primos e Teorema Funamental a Aritmética Teorema Qualquer natural maior ou igual a 2 tem pelo menos um ivisor primo. Demonstração. Seja n 2 um número inteiro positivo. Consieremos o conjunto D = { N > 1 e n}. Este conjunto é não-vazio, pois n D. Pelo Princípio e Boa Orenação, D tem um elemento mínimo, igamos p. Suponhamos que p não é primo. Então, k N : k p, 1 < k < p, ou seja, p = zk para algum z N. Por outro lao, como p D, então p n, ou seja, n = tp, para algum t N. Assim, n = tp = tzk, one resulta que k n e portanto, que k D. Mas, isto contraria o facto e que p é o mínimo e D. A contraição resultou e supor que p não é primo. Logo, p é primo. Álgebra (Curso e CC) Ano lectivo 2005/2006 57 / 83
A existência um número infinito e primos foi provaa por Euclies. Actualmente, existem iversas emonstrações este facto. Corolário (Euclies) Há uma infiniae e números primos. Demonstração. Suponhamos que há um número finito e primos istintos, igamos p 1, p 2,..., p k, para certo k N. Seja n = p 1p 2... p k + 1. Pelo teorema anterior existe um número primo que ivie n, ou seja, i {1, 2,..., k} tal que p i n. Além isso, como p i p 1p 2... p k, temos que p i n p 1p 2... p k, ou seja, p i 1, o que não poe ser, pela efinição e primo. A contraição resultou e supor que existe um número finito e primos. Logo, existem infinitos números primos. Álgebra (Curso e CC) Ano lectivo 2005/2006 58 / 83
Corolário Seja n 2 um inteiro. Se nenhum número primo p n ivie n, então n é um número primo. Demonstração. Seja n 2 tal que nenhum número primo menor ou igual a n ivie n. Suponhamos que n não é primo. Então, n = ab, para alguns inteiros 1 < a, b < n. Sabemos que existem primos p e q tais que p a e q b. Como p e q também iviem n então, por hipótese, p, q > n. Temos então n = ab pq > n n = n, o que é absuro. O absuro resultou e supor que n não é primo. Logo, n é um número primo. Exemplo Vejamos que 193 é um número primo. Tem-se 193 < 196 = 14. Os números primos menores o que 14 são 2, 3, 5, 7, 11, 13 e nenhum eles ivie 193. Logo, 193 é um número primo. Álgebra (Curso e CC) Ano lectivo 2005/2006 59 / 83
O Crivo e Eratóstenes permite obter listas e números primos. Algoritmo (Crivo e Eratóstenes) Input: um número inteiro n 2 Definir a lista L = [2,..., n] e a lista vazia M repeat Escolher o menor número m a lista L Colocar m na lista M Remover toos os múltiplos e m a lista L until L ficar vazia Output: M, lista e primos menores ou iguais a n Exercício Implemente no GAP o Crivo e Eratóstenes e faça uma lista com os números primos entre 1 e 1000. Confirme o resultao comparano com a lista preefinia Primes presente no GAP. Álgebra (Curso e CC) Ano lectivo 2005/2006 60 / 83
O exemplo seguinte á conta e algumas funções existentes no GAP para liar com números primos. Exemplo gap> IsPrimeInt(10453); true gap> IsPrimeInt(1043); false gap> IsPrime(2*3*5*7*11+1); true gap> PrevPrimeInt(45); 43 gap> NextPrimeInt(45); 47 gap> NextPrimeInt(47); 53 Álgebra (Curso e CC) Ano lectivo 2005/2006 61 / 83
Lema (Lema e Euclies) Sejam p um primo e a, b inteiros. Se p ivie ab, então p ivie a ou p ivie b. Demonstração. Suponhamos que p ivie ab, mas não ivie a. Pretenemos provar que p ivie b. Como p não ivie a, temos mc(p, a) = 1. Então, por um resultao anterior, vem que p ivie b. O Lema e Euclies poe ser generalizao para um qualquer prouto finito e inteiros. Corolário Sejam p um primo e a 1, a 2,..., a k inteiros. Se p a 1 a 2... a k então existe um ínice i {1, 2,..., k} tal que p a i. Exercício Use o Princípio e Inução para provar o resultao anterior.. Álgebra (Curso e CC) Ano lectivo 2005/2006 62 / 83
Teorema (Teorema Funamental a Aritmética) Qualquer inteiro maior que 1 é primo ou um prouto e primos. Este prouto é único a menos a orem os factores. Demonstração. Vamos utilizar a seguna forma o Princípio e Inução para provar a existência e uma factorização e a em primos. Seja S o conjunto e inteiros que são primos ou proutos e primos. Sem úvia, 2 S. Suponhamos, agora, que para algum inteiro n, S contém toos os inteiros k, com 2 k < n. Queremos provar que n S. Se n é primo, então n S, por efinição e S. Se n não é primo, então n = ab, para alguns inteiros 1 < a, b < n. Como, por hipótese e inução, a e b pertencem a S, temos que caa um estes inteiros é um primo ou um prouto e primos. Portanto, n é também um prouto e primos. Logo, por inução, concluímos que S = {a Z a > 1}, ou seja, qualquer inteiro a > 1 poe ser escrito como um prouto e números primos. Resta provar a uniciae. Álgebra (Curso e CC) Ano lectivo 2005/2006 63 / 83
Suponhamos que a tem uas factorizações em números primos: a = p 1p 2... p s = q 1q 2... q t, one p 1, p 2,..., p s e q 1, q 2,..., q t são números primos. Da primeira factorização temos que p 1 a, logo p 1 q i, para algum i {1, 2,..., t}. Trocano e renumerano os primos a seguna factorização (se necessário) poemos assumir que i = 1 e que p 1 q 1. Como q 1 é primo, segue-se que p 1 = q 1. Cancelano este primo as uas factorizações temos: p 2... p s = q 2... q t. Continuano este processo repetiamente, esgotam-se toos os primos e uma as factorizações. Se uma as factorizações se esgotar antes a outra, as factorizações reuzias expressam 1 como um prouto e primos p i ou q j, o que não poe ser pois, p i, q j > 1. Portanto, as uas factorizações esgotam os seus primos por cancelamento em simultâneo. Logo, s = t e p i = q i (epois e uma troca conveniente os factores primos). A factorização e a > 1 em números primos poe conter factores repetios. É comum escrevê-la na forma a = p α1 1 pα2 2... pαn n = n i=1 pα i i, (α i 1) que se iz a factorização e a em potências primas. Álgebra (Curso e CC) Ano lectivo 2005/2006 64 / 83
O exemplo seguinte á conta e algumas funções existentes no GAP para liar com factorizações. Exemplo gap> FactorsInt(32); [ 2, 2, 2, 2, 2 ] gap> FactorsInt(6820); [ 2, 2, 5, 11, 31 ] gap> PrimePowersInt(32); [ 2, 5 ] gap> PrimePowersInt(6820); [ 2, 2, 5, 1, 11, 1, 31, 1 ] gap> PrintFactorsInt(32);Print("\n"); 2^5 gap> PrintFactorsInt(6820);Print("\n"); 2^2*5*11*31 gap> Álgebra (Curso e CC) Ano lectivo 2005/2006 65 / 83