Anda di halaman 1dari 108

Nmeros Inteiros e Criptografia RSA

S. C. Coutinho
Universidade Federal do Rio de Janeiro

ii

c by S. C. Coutinho 2014

Sumrio
Agradecimentos

Captulo 1. Algoritmos fundamentais


1. Algoritmos
2. Algoritmo de diviso
3. Teorema de diviso
4. Algoritmo euclidiano
5. Demonstrao do algoritmo euclidiano
6. Equaes Diofantinas Lineares
7. Recreio
Exerccios

1
1
3
6
7
10
12
18
21

Captulo 2. Equao de Pell


1. Compondo solues
2. Grupos
3. Achando solues
4. Anlise do algoritmo de Brouncker
5. A soluo fundamental
Exerccios

23
23
29
34
39
44
46

Captulo 3. Grupos finitos


1. Inversveis mdulo n
2. Pell modular e suas generalizaes
3. Subgrupos
4. O teorema de Lagrange
5. Aplicaes
Exerccios

51
51
53
61
64
66
69

Captulo 4. Comparando grupos


1. Homomorfismos
2. Ordem de P(d, p)
3. Produtos cartesianos e tabelas
4. Tabelas e grupos
5. A ordem de U(n)
Exerccios

73
73
77
80
84
86
89
iii

iv

SUMRIO

Captulo 5. Testes de primalidade


1. Os testes de Lucas e Lucas-Lehmer
2. O teste de Brilhart, Lehmer e Selfridge
3. A recproca do teste de Lucas-Lehmer
Referncias Bibliogrficas

91
91
96
98
101

Agradecimentos
Muito obrigado a Gabriel da Silva Alves, Flvio Rangel, Leonardo Barrozo
pelas correes e sugestes.

CAPTULO 1

Algoritmos fundamentais
So dois: o algoritmo de diviso e o algoritmo euclidiano. Ambos eram conhecidos na Grcia Antiga e so descritos nos Elementos de Euclides, escrito
por volta de 300 a.C.. O algoritmo de diviso que nos interessa o que calcula quociente e resto na diviso de um nmero inteiro por outro. O algoritmo
euclidiano usado para calcular o mximo divisor comum. Que so fundamentais, voc vai se convencer medida que for lendo este livro.

1. Algoritmos
O Aurlio define a palavra algoritmo da seguinte maneira
processo de clculo, ou de resoluo de um grupo de problemas
semelhantes, em que se estipulam, com generalidade e sem
restries, regras formais para a obteno de um resultado, ou
da soluo de um problema.
Como a maior parte das definies dos dicionrios, esta no ajuda muito a
identificar um algoritmo, se voc se deparar com um. Na verdade um algoritmo
, essencialmente, uma receita para resolver um determinado tipo de problema.
Para ajud-lo a entender como um algoritmo apresentado, vamos analisar com cuidado uma receita simples. Nossa tarefa fazer um bolo. Um bom
livro de receitas tem, logo depois do nome do bolo, uma lista dos ingredientes
necessrios sua confeco. Seguem-se as instrues do que fazer com os ingredientes para chegar ao objetivo; coisas como: peneire, misture, bata, asse.
Finalmente, temos o resultado: o bolo pronto.
Assim todo algoritmo. Quando formos especificar o algoritmo, deveremos
deixar claro qual a sua entrada e a sua sada. A entrada corresponde aos
ingredientes da receita. A sada corresponde tarefa que desejamos ver executada; no caso acima, o bolo que desejamos fazer. O algoritmo propriamente
dito constitudo pelo conjunto de instrues da receita.
1

1. ALGORITMOS FUNDAMENTAIS

Tendo seguido uma receita de bolo com o devido cuidado, esperamos, ao


tirar o assador do forno, encontrar um bolo, e no um biscoito ou um bife de
panela. Tambm esperamos que a receita possa ser acabada em um tempo
finito, de preferncia curto. Da mesma forma, tendo executado o algoritmo,
esperamos obter um resultado compatvel com a sada especificada. E mais,
esperamos que o algoritmo chegue sada ao cabo de um tempo finito, de
preferncia pequeno. Assim h dois pontos a considerar. Em primeiro lugar,
possvel escrever uma sequncia de instrues que continua sendo executada
para sempre. Por exemplo, dado um nmero inteiro qualquer (a entrada) some
1 a este nmero, depois some 1 ao resultado e assim por diante. Como existem
infinitos inteiros, o processo continua para sempre. Como esperamos que um
algoritmo fornea um resultado, um conjunto de instrues deste tipo no tem
nenhuma utilidade.
Por outro lado, um algoritmo pode ser lento e mesmo assim ser til. Talvez
no haja um algoritmo melhor; ou talvez o algoritmo sirva para mostrar que o
problema tem soluo. claro que nem todo problema pode ser resolvido pela
execuo de um conjunto de instrues! Menos claro que nem todo problema
matemtico pode ser resolvido desta formamas esta uma outra histria,
longa demais para contar aqui. Para mais detalhes sobre problemas que no
podem ser resolvidos usando algoritmos veja [9].
Podemos enunciar um algoritmo como um fato ou teorema: dada tal entrada
existe uma maneira (o algoritmo) de produzir tal sada. Um teorema normalmente enunciado na forma se valem as hipteses ento temos a tese. No caso
do teorema associado a um algoritmo, a entrada do algoritmo corresponde s
hipteses do teorema, e a sada tese.
No se preocupe se estes comentrios lhe parecem muito vagos, estamos
apenas estabelecendo a nomenclatura. medida que os exemplos forem surgindo
tudo vai ficar mais claro. Resumindo o que j dissemos: um algoritmo uma
receita, um conjunto de instrues que toma certos ingredientes (a entrada) e
transforma num certo produto (a sada). Digamos que algum nos apresenta
um conjunto de instrues e afirma que se trata de um algoritmo para executar determinada tarefa. Somos, ento, moralmente obrigados a fazer duas
perguntas:
ao executar estas instrues, sempre chegaremos a um resultado?
o resultado obtido sempre o desejado?
Com isto em mente, faremos uma anlise cuidadosa do algoritmo de diviso.

2. ALGORITMO DE DIVISO

A etimologia da palavra algoritmo to curiosa que seria uma pena encerrar a seo sem mencion-la. Originalmente a palavra era escrita algorismo,
que vem da forma latinizada do rabe Al-Khowarazmi, o homem de Khowarazm.
Assim era conhecido o matemtico rabe Ben Musa, que viveu no sculo IX. Foi
atravs de seu livro Al-jabr wal muqabalah que os algarismos indo-arbicos
chegaram ao Ocidente. Alis algorismo e algarismo so variantes da mesma
palavra e significavam originalmente os numerais indo-arbicos. Por extenso
algorismo era tambm usado para significar aritmtica e clculo com nmeros.
Algoritmo ganhou um t por influncia da palavra aritmosque tambm significa nmero, s que em grego.
O sentido atual da palavra algoritmo, contudo, bem mais recente, sendo
atestado, em ingls, apenas a partir de 1812. No claro como a palavra chegou
a ter este sentido. possvel testemunh-la adquirindo um significado mais
abrangente no artigo de 1684 em que Leibniz apresenta, pela primeira vez,
sua verso do clculo diferencial e integral. No comeo deste artigo Leibniz
diz que as regras do clculo que vai apresentar podem ser consideradas como
um algoritmo. Em pouco mais de um sculo a palavra j havia praticamente
tomado o sentido atual. Gauss, escrevendo em latim, usa algoritmus repetidas
vezes em suas Disquisitiones Arithmetic quando se refere a um conjunto de
frmulas que constitui um mtodo para calcular a soluo de algum problema
aritmtico.
Assim algoritmo uma palavra muito antiga, mas que ganhou um significado novo. Em tempo: do nome do livro de Ben Musa, mencionado acima, vem
a nossa palavra lgebra.
2. Algoritmo de diviso
Vamos analisar o algoritmo de diviso na forma estabelecida na seo anterior. Em primeiro lugar, s estamos interessados na diviso de um inteiro
por outro, a diviso com resto. Portanto, nossa tarefa achar o quociente e
o resto da diviso entre dois inteiros positivos. Ao ouvir isto voc imaginar
certamente algo assim
1234 54
154 22
46
Neste exemplo estamos dividindo 1234 por 54 e encontramos o quociente 22
e o resto 46. Na linguagem da seo anterior, o algoritmo tem por entrada o

1. ALGORITMOS FUNDAMENTAIS

dividendo e o divisorneste caso 1234 e 54. A sada so o quociente e o resto


neste caso 22 e 46.
De uma maneira geral, a entrada do algoritmo de diviso so os dois inteiros
positivos a e b, que desejamos dividir. A sada so outros dois inteiros q e r,
que esto relacionados entrada de maneira que
a = bq + r e

0 r < b,

como sabemos desde o primrio. Falando em primrio, bom relembrar a interpretao do algoritmo que aprendemos naquela poca. Imagine que temos uma
barra de chocolate de comprimento a e que queremos obter o maior nmero
possvel de pedaos de comprimento b dividindo a barra. A resposta que
obteremos q pedaos e uma sobra que ter comprimento r.
A barra de chocolate a inspirao para o algoritmo mais simples possvel
para achar q e r, a partir de a e b. Simples, mas no eficiente. Na verdade
trata-se de um algoritmo altamente ineficiente. Podemos descrev-lo assim.
A LGORITMO 2.1 (Algoritmo de diviso). Entrada: inteiros positivos a e b.
Sada: inteiros positivos q e r tais que a = bq + r e 0 r < b.
Etapa 1: Comece fazendo Q = 0 e R = a.
Etapa 2: Se R < b escreva o quociente Q e o resto R e pare; seno v para a
Etapa 3.
Etapa 3: Se R b subtraia b de R, incremente Q de 1 e volte Etapa 2.
Ao longo deste livro os algoritmos sero frequentemente estruturados na
forma descrita acima. A leitura correta das instrues pressupe algumas convenes. Observe que o algoritmo usa duas variveis, Q e R. Os nomes das
variveis foram escolhidos por razes mnemnicas: ao final da execuo do algoritmo Q vai ser o valor do quociente e R o valor do resto na diviso de a por b.
Para determinar estes valores teremos geralmente que executar as instrues
das Etapas 2 e 3 vrias vezes: chamamos a isto um lao. Ao final de cada lao
as variveis Q e R tero valores diferentes. A mudana de valor efetuada na
Etapa 3. A instruo subtraia b de R significa: varivel R ser atribudo um
novo valor que corresponde ao valor que tinha ao final do lao anterior menos
b. Analogamente incremente Q de 1 significa: varivel Q ser atribudo o
valor que tinha ao final do lao anterior mais 1.
Por exemplo, se a > b, ento tendo passado uma vez pela Etapa 3 obtivemos
Q = 1 e R = a b. Se a b b ento o algoritmo nos manda aplicar a Etapa
3 mais uma vez. Tendo feito isto, teremos obtido Q = 2 e R = a 2b. E assim

2. ALGORITMO DE DIVISO

por diante. Por que isto no se repete para sempre? Ou, em outras palavras,
por que que o algoritmo pra? Observe que aplicando a Etapa 3 vrias vezes
geramos a seguinte sequncia de valores da varivel R:
valor inicial 1o lao 2o lao 3o lao . . .
a
a b a 2b a 3b . . .
Trata-se de uma sequncia decrescente de nmeros inteiros. Como existe
apenas uma quantidade finita de inteiros entre a e 0, a sequncia acima vai
chegar eventualmente a um valor menor que b. Neste momento a Etapa 2 nos
manda encerrar o processo e divulgar a resposta. Logo o algoritmo sempre
pra.
Que o resultado da aplicao do algoritmo corresponde s especificaes da
sada fcil de ver. Note que se q e r so obtidos pelo algoritmo ento, automaticamente, temos r = a bq e r < b. Da primeira equao segue facilmente
que a = bq + r. Falta apenas descobrir porque r 0. Pelo que vimos acima, o
algoritmo parou no lao de nmero q. Logo no lao anterior (que q 1) temos
a b(q 1) b ou no estaramos subtraindo b mais uma vez para chegar ao
lao q. Subtraindo b de ambos os membros desta ltima equao chegamos a
a bq 0, que o que queramos verificar. Logo o algoritmo descrito realiza o
que dele se pede.
No preciso pensar muito para ver que o algoritmo apresentado muito
lento. O nmero de laos executados igual ao quociente; assim, se a for
muitas ordens de grandeza maior que b, estamos perdidos. O mtodo usual
de diviso oferece uma maneira prtica de acelerar este algoritmo. Infelizmente este mtodo (como costumamos us-lo) excelente para seres humanos
dividirem nmeros pequenos e pssimo quando os nmeros so grandes ou o
calculista uma mquina.
Para entender o porqu da observao acima vamos acompanhar os clculos
na diviso do comeo da seo. Em primeiro lugar escolhemos o menor nmero
formado pelos algarismos de 1234 (comeando da esquerda) que maior que
54. Este nmero 123. Fazemos, ento, a pergunta: qual o maior inteiro que
posso multiplicar por 54 e ainda assim obter um produto menor que 123? E
nesta pergunta que reside o problema. Se os nmeros so pequenos, um
pouco de experincia e algumas tentativas nos levam rapidamente ao valor
correto. Se os nmeros so grandes, nossa experincia intil, e a quantidade
de possibilidades pode tornar impossvel atacar o problema por tentativa. H
uma sada para este impasse, mas discuti-la aqui nos levaria a uma digresso
muito longa. Para mais detalhes sobre esta questo consulte o livro [22, 4.3].

1. ALGORITMOS FUNDAMENTAIS

Antes de encerrar a seo precisamos considerar um problema prtico. A


maior parte dos resultados abordados neste livro s se torna interessante se
os nmeros a que se aplicam so relativamente grandes; grandes o bastante
para tornar o clculo de divises com lpis e papel impraticvel. Isto sem falar
no fato de que teremos de executar dezenas de divises na soluo de alguns
problemas. A sada usar uma mquina de calcular. Mas mquina de calcular
no faz diviso com restoou faz? Imagine que temos dois inteiros positivos
a e b e desejamos calcular a expresso decimal da frao a/b. O comeo da
diviso exatamente igual ao da diviso com resto. S que ao invs de parar
e escrever o resto, colocamos a vrgula decimal e continuamos a dividir. Moral:
a parte inteira da expresso decimal de a/b o quociente da diviso com resto
de a por b. Se o quociente q ento o resto simplesmente a bq; e achamos
quociente e resto com uma calculadora. Se a calculadora tem memria muito
fcil executar esta conta (com um pouco de prtica) em tempo recorde.
Mas cuidado: o tamanho dos inteiros a serem divididos est limitado pelo
nmero mximo de algarismos que o visor da calculadora aceita (normalmente
oito ou dez). Talvez voc esteja pensando que isto no um grande problema.
Afinal sua calculadora escrever nmeros de at 99 algarismos em notao
cientfica; isto na forma r 10n , onde 1 r < 10. O problema que precisaremos conhecer o quociente exatamente. Mas se sua calculadora est usando
notao cientfica isto normalmente significa que a parte inteira do quociente
est sendo truncada.
3. Teorema de diviso
Na seo 1 tambm mencionamos que todo algoritmo vem acompanhado
de um teorema. Vamos enunciar o teorema correspondente ao algoritmo de
diviso.
T EOREMA DE DIVISO. Teorema de diviso Sejam a e b inteiros positivos.
Existem nmeros inteiros q e r tais que
a = bq + r

0 r < b.

Alm disso, os valores de q e r satisfazendo as relaes acima so nicos.


No enunciado acima, o que vem antes do alm disso no oferece surpresa.
Que, dados a e b, existem q e r j sabemos. Sabemos at como calcul-los usando o algoritmo descrito acima. O que vem depois do alm disso que a
novidade. O que quer dizer que os valores so nicos? Imagine que escolhemos
dois inteiros positivos a e b e os distribumos a vrias pessoas com a instruo
de que determinem (do jeito que bem desejarem) inteiros q e r satisfazendo as

4. ALGORITMO EUCLIDIANO

relaes do teorema. A unicidade do quociente e do resto significa que todas estas pessoas encontraro os mesmos valores. Em particular algoritmos distintos
para calcular quociente e resto no podem achar valores distintos, o que uma
informao muito til.
Vejamos porque isto verdade. Digamos que escolhemos dois inteiros positivos a e b. Entregamos estes nmeros a duas pessoas, Carlos e Sofia, e pedimos que determinem quociente e resto satisfazendo as condies do teorema.
Carlos encontrou q e r e Sofia q e r . Sabendo apenas que
a = bq + r
e que

0r<b

a = bq + r e 0 r < b
mostraremos que q = q e r = r . Lembre-se que r e r so inteiros; logo um
deles maior ou igual ao outro. Para fixar as idias, digamos que r r . Da
equao de Carlos r = a bq e da equao de Sofia r = a bq . Subtraindo
uma da outra
r r = (a bq) (a bq ) = b(q q).
Por outro lado, tanto r quanto r so menores que b. Como estamos supondo
tambm que r r , obtemos 0 r r < b. Comparando com r r = b(q q)
conclumos que
0 b(q q) < b.
Mas b um inteiro positivo e pode ser cancelado, logo 0 q q < 1. Como q q
um nmero inteiro, estas desigualdades s se verificam quando q q = 0, ou
seja q = q . Disto segue imediatamente que r = r , e verificamos a unicidade.
Recapitulando, vimos que o algoritmo de diviso d lugar a um teorema
que nos diz duas coisas: que o quociente e o resto sempre existem, e que o
quociente e o resto so nicos. Muitos outros teoremas que estudaremos neste
curso afirmaro existncia e unicidade de certas condies. O mais importante
deles ser o teorema da fatorao nica a ser estudado no prximo captulo.
4. Algoritmo euclidiano
O objetivo do algoritmo euclidiano calcular o mximo divisor comum entre dois nmeros inteiros. Mesmo correndo o risco de parecer pedante, vamos
definir cuidadosamente o que deve ser entendido por mximo divisor comum.
Em primeiro lugar um inteiro b divide outro inteiro a se existe um outro
nmero inteiro c tal que a = bc. Tambm dizemos que b um divisor ou fator
de a, ou ainda que a mltiplo de b. Todas estas expresses significam a
mesma coisa. O nmero c, na definio acima chamado de co-fator de b em

1. ALGORITMOS FUNDAMENTAIS

a. Na prtica, determinamos que b divide a efetuando a diviso e verificando


que o resto zero. O co-fator o quociente da diviso.
Suponhamos que temos dois inteiros positivos a e b. O mximo divisor
comum entre a e b o maior inteiro positivo d que divisor de a e tambm
divisor de b. Se d o mximo divisor comum entre a e b, escrevemos d =
mdc(a, b). Se mdc(a, b) = 1, dizemos que os nmeros so primos entre si.
Um livro da quarta srie primria descreve a seguinte maneira de calcular o mximo divisor comum entre a e b. Primeiro calcule todos os divisores
de a; depois todos os divisores de b. Foram obtidos dois conjuntos: calcule
a interseco dos dois. O maior nmero inteiro contido na interseco o
mximo divisor comum desejado. O que h de errado nisto? Nada; mas se
precisssemos recorrer a este mtodo para calcular o mximo divisor comum,
nunca chegaramos a us-lo para nada. Infelizmente, achar todos os divisores
de um inteiro totalmente impraticvel quando o nmero grande, mesmo
usando um bom computador. Discutiremos isto com detalhes no prximo captulo. Milagrosamente existe uma outra maneira de calcular o mximo divisor
comum atravs de um algoritmo muito eficiente. Este algoritmo descrito por
Euclides nas proposies 1 e 2 do Livro 7 dos Elementos, mas acredita-se que
sua origem seja muito anterior a Euclides.
Digamos, mais uma vez, que a e b sejam inteiros positivos e que a b.
Queremos calcular o mximo divisor comum entre a e b. O algoritmo euclidiano consiste em dividir a por b, achando o resto r1 . Se r1 6= 0, dividimos b
por r1 , obtendo o resto r2 . Se r2 6= 0, dividimos r1 por r2 , obtendo o resto r3 . E
assim por diante. O ltimo resto diferente de zero desta sequncia de divises
o mximo divisor comum entre a e b. Quando o clculo do mximo divisor
comum feito com lpis e papel, costume arrumar as divises em um quadro.
No exemplo abaixo, calculamos o mximo divisor comum entre 1234 e 54.

1234 | 54 | 46 | 8 | 6 | 2
46 | 8 | 6 | 2 | 0
No quadro acima escrevemos apenas os restos das divises. Os quocientes
no so usados diretamente no clculo do mximo divisor comum. De acordo
com a regra exposta no pargrafo anterior, temos que mdc(1234, 54) = 2, que
o ltimo resto no nulo da sequncia de divises. Temos ento o algoritmo:
para calcular o mximo divisor comum tudo o que temos a fazer calcular
uma sequncia de divises. Mas porqu o resultado destas divises o mximo

4. ALGORITMO EUCLIDIANO

divisor comum? Alm disso, precisamos verificar que a sequncia de divises


chega sempre a um resto zero, ou o algoritmo continuaria para sempre.
Comearemos tratando a segunda questo. Portanto, verificaremos primeiro
que o algoritmo sempre pra. Digamos que, para calcular o mximo divisor comum entre a e b, fazemos uma sequncia de divises como abaixo.
a = bq1 + r1 e
b = r1 q2 + r2 e
r1 = r2 q3 + r3 e
r2 = r3 q4 + r4 e
..
.
...

0 r1
0 r2
0 r3
0 r4
..
.

<b
< r1
< r2
< r3

Esquea por um instante o que est acontecendo na coluna da esquerda.


direita temos uma sequncia de restos, e observamos que o seguinte sempre
menor que o anterior mas todos so maiores ou iguais a zero. Escrevendo as
desigualdades dos restos uma em seguida outra,
(1)

b > r1 > r2 > r3 > r4 0.

Como entre b e 0 h apenas uma quantidade finita de inteiros, esta sequncia


no pode continuar indefinidamente. Mas ela s chega ao final se um dos restos
for zero, e isto que garante que o algoritmo sempre pra.
Podemos usar o argumento do pargrafo anterior para determinar qual o
nmero mximo de divises que precisamos fazer para chegar ao mximo divisor comum. Considere novamente a sequncia de restos (4.1). Cada resto
estritamente menor que o anterior. Assim, o maior resto possvel numa certa
diviso igual ao resto anterior menos 1. Se isto acontecer em cada uma das
divises, teremos que executar b divises at chegar a um resto igual a zero, e
este seria o pior caso possvel. Logo o nmero de divises a serem executadas
em cada caso no mximo b.
Na verdade, podemos mostrar que o nmero mximo de divises sempre menor que b (exceto quando b 3). prefervel formular o problema da
seguinte maneira: quais os menores valores (positivos) de a e b para os quais
preciso efetuar n divises a fim de calcular que mdc(a, b) ? Para que a e b
sejam os menores possveis preciso que os quocientes de cada diviso sejam
os menores possveis. O menor quociente possvel na diviso de dois nmeros
positivos 1. Suponhamos que foram efetuadas n divises para chegar ao resto

10

1. ALGORITMOS FUNDAMENTAIS

zero. Assim a sequncia de restos


r1 > r2 > r3 > . . . rn1 > rn = 0.
Mas j vimos que no pior caso possvel o quociente entre quaisquer dois restos
consecutivos tem que ser 1. Escrevendo as divises do fim para o comeo obtemos ento
rn2 = rn1 1
rn3 = rn2 1 + rn1
rn4 = rn3 1 + rn2

a = b 1 + r1
Para fixar as idias, digamos que rn1 = 1 e que n = 10, a sequncia de
restos fornecida pelas equaes acima (escrita em ordem decrescente) ento:
34, 21, 13, 8, 5, 3, 2, 1, 1, 0.
Assim, os menores valores de a e b para os quais temos que efetuar n divises
a fim de calcular mdc(a, b) (e descobrir que vale 1) so a = 34 e b = 21. Observe
que mesmo b sendo o menor possvel neste caso, ainda assim temos b = 21 que
muito maior que n = 10. A sequncia obtida acima a famosa sequncia de
Fibonacci; que aparece tambm no exerccio 5.

5. Demonstrao do algoritmo euclidiano


Vimos assim que o algoritmo sempre prae executa no mximo tantas divises quanto o menor dos nmeros de que se quer calcular o mximo divisor
comum. Mas por que que o ltimo resto no nulo coincide com o mximo
divisor comum? Para entender isto precisamos de um resultado auxiliar, o que
os matemticos costumam chamar de lema. A palavra vem do grego e significa
alguma coisa que assumida a fim de se provar um teorema.
L EMA 5.1. Sejam a e b nmeros inteiros positivos. Suponhamos que existam
inteiros g e s tais que a = bg + s. Ento mdc(a, b) = mdc(b, s).
Precisamos mostrar que a afirmao contida no lema verdadeira. Antes
de fazer isto, porm, usaremos o lema para provar que o ltimo resto no nulo
da sequncia de divises o mximo divisor comum. Aplicando o algoritmo a
a e b e supondo que o resto nulo ocorre aps n divises, temos

5. DEMONSTRAO DO ALGORITMO EUCLIDIANO

(2)

rn4
rn3

a = bq1 + r1 e
b = r1 q2 + r2 e
r1 = r2 q3 + r3 e
r2 = r3 q4 + r4 e
..
.
...
= rn3 qn2 + rn2 e
= rn2 qn1 + rn1 e
rn2 = rn1 qn e

11

0 r1 < b
0 r2 < r1
0 r3 < r2
0 r4 < r3
..
.
0 rn2 < rn3
0 rn1 < rn2
rn = 0

Desta vez podemos ignorar a coluna da direita; vamos nos concentrar no


que ocorre esquerda. Da ltima diviso temos que rn1 divide rn2 . Logo o
maior divisor comum entre os dois o prprio rn1 . Portanto mdc(rn2 , rn1 ) =
rn1 .
Aqui entra em ao o lema. Aplicando-o penltima diviso, conclumos
que
mdc(rn3 , rn2 ) = mdc(rn2 , rn1 )
que, por sua vez, igual a rn1 . Aplicando novamente o lema, desta vez
ante-penltima diviso, temos
mdc(rn4 , rn3 ) = mdc(rn3 , rn2 )
que j vimos que igual a rn1 . Continuando assim, coluna acima, chegamos
finalmente a mdc(a, b) = rn1 ; que o que desejvamos verificar.
Para que no fique nenhum detalhe faltando na nossa prova de que o algoritmo funciona, falta apenas demonstrar o lema. O lema nos diz que assumindo
que a, b, g e s esto relacionados por a = bg + s devemos ser capazes de concluir que mdc(a, b) = mdc(b, s). Fica mais fcil explicar a demonstrao se
supusermos que
d1 = mdc(a, b) e

d2 = mdc(b, s).

At aqui no fizemos nada: apenas demos nome aos respectivos mximos divisores comuns. Com esta notao, o que queremos mostrar que d1 = d2 .
Provaremos isto em duas etapas, verificando que d1 d2 e em seguida que
d2 d1 . Destas duas desigualdades segue a igualdade desejada.

12

1. ALGORITMOS FUNDAMENTAIS

Provaremos que d1 d2 ; a outra desigualdade provada de maneira anloga


e fica por sua conta. Lembre-se que d1 = mdc(a, b). Assim d1 divide a e d1 divide b. De acordo com a definio isto significa que existem inteiros u e v tais
que
a = d1 u e b = d1 v.
Vamos substituir estas expresses para a e b na relao a = bg + s, que um
dos dados do lema. Obteremos d1 u = d1 vg + s, ou seja
s = d1 u d1 vg = d1 (u vg).
Mas isto significa que d1 divide s. Recapitulando: como d1 = mdc(a, b) temos,
em particular, que d1 divide b. Com um clculo mostramos que d1 tambm
divide s. Portanto d1 um divisor comum entre b e s. Mas d2 o maior divisor
comum entre b e s. Logo d1 d2 , que o que devamos provar.
Voltando ao enunciado do lema, observe que precisamos da relao a =
bg + s, que anloga relao entre dividendo, divisor, quociente e resto; mas
no precisamos saber que s menor que b. Portanto o fato do resto ser menor
que o divisor no usado para mostrar que o ltimo resto no nulo o mximo divisor comum. Entretanto precisamos desta condio quando mostramos
que o algoritmo pra. Assim as duas condies do algoritmo de diviso so
necessrias para provar que o algoritmo euclidiano funciona.
6. Equaes Diofantinas Lineares
Como vimos na seo ??, as equaes diofantinas mais simples so da forma
(3)

ax + by = c,

em que a, b e c so inteiros dados e x e y so inteiros a serem determinados.


Em outras palavras, uma soluo desta equao um par de inteiros (x, y) que
satisfaz (3). Comeamos mostrando que as solues de uma equao diofantina
linear esto relacionadas ao mximo divisor comum dos coeficientes que multiplicam as variveis x e y.
Sejam x0 e y0 inteiros e suponhamos que o par (x0 , y0 ) uma soluo de (3).
Se d for o mximo divisor comum entre a e b, ento existem inteiros a e b tais
que
a = d a e b = d b .
Substituindo isto em ax0 + by0 = c, obtemos
c = (d a )x0 + (d b )y0 = d(a x0 + b y0 ).

Como as hipteses que fizemos guarantem que a x0 +b y0 um nmero inteiro,


ento d tem que dividir c. Resumindo, mostramos que se ax + by = c tem

6. EQUAES DIOFANTINAS LINEARES

13

soluo inteira, ento o mximo divisor comum entre a e b tem que dividir c.
De partida, isto nos permite concluir que existem muitas equaes diofantinas
lineares sem soluo; por exemplo, toda vez que a e b forem nmeros pares e c
for mpar, a equao ax + by = c no ter soluo inteira.
Ainda que seja interessante saber que h equaes diofantinas lineares sem
soluo, o que gostaramos mesmo de fazer resolver aquelas que tm soluo.
Como vimos na seo anterior, nem sempre isto possvel. Contudo, no caso
das equaes diofantinas lineares h um algoritmo simples e capaz de gerar
todas as solues destas equaes. Dados nmeros inteiros positivos a e b, o
algoritmo que vamos descrever determina dois nmeros inteiros e tais que
(4)

a + b = d,

em que d o mximo divisor comum de a e b. Observe que, a no ser que a


divida b ou vice-versa, o mximo divisor comum d ser menor do que ambos,
a e b, de modo que ou ter que ser um inteiro negativo. Para resolver a
equao ax + by = c quando d divide c, multiplicamos (4) pelo cofator c de d
em c, obtendo
(5)

(c ) a + (c ) b = c d = c;

de modo que o par (c , c ) soluo de ax + by = c.


O procedimento que vamos descrever conhecido como algoritmo euclidiano estendido, porque, tendo como entrada inteiros positivos a e b, executa o
algoritmo euclidiano usual, juntamente com frmulas que nos permitem calcular inteiros e que satiszem (4). A verso que apresentaremos deve-se
a D.E. Knuth, autor de uma srie de livros chamada The art of computer programming, que considerada a bblia da teoria de algoritmos; veja [22].
A implementao inventada pelo Knuth bastante sutil e consiste em escrever cada um dos restos obtidos na sequncia de divises do algoritmo euclidiano em termos de a e b, usando frmulas semelhantes a (4). Como veremos
a seguir, a grande vantagem em proceder desta maneira que, para efetuar
os clculos correspondentes a uma determinado lao, basta guardar os dados
referentes aos dois laos imediatamente anteriores. Tudo o mais pode ser apagado, o que mantm uma rea maior de memria disponvel.
Digamos que, calculando o mximo divisor comum entre a e b, obtemos
a sequncia de divises (5.1). Reescrevemos esta sequncia abaixo, acrescentando ao lado de cada diviso a relao entre o resto que acabamos de calcular

14

1. ALGORITMOS FUNDAMENTAIS

e os inteiros a e b:
(6)

rn3

a = bq1 + r1 e
b = r1 q2 + r2 e
r1 = r2 q3 + r3 e
r2 = r3 q4 + r4 e
..
. ...
= rn2 qn1 + rn1 e
rn2 = rn1 qn e

r1 = ax1 + by1
r2 = ax2 + by2
r3 = ax3 + by3
r4 = ax4 + by4
..
.
rn1 = axn1 + byn1
rn = 0.

Como estamos supondo que que rn = 0, mas rj 6= 0 para todo 1 j n, ento


d = mdc(a, b) = rn1 .

Logo,
rn1 = axn1 + byn1
nos permite concluir que = xn1 e = yn1 satisfazem (4).
Os nmeros x1 , . . . , xn1 e y1 , . . . , yn1 so inteiros a determinar e conveniente condensar a informao contida em (6.2) na tabela 1.
y
restos quocientes x
a
*
x1 y1
b
*
x0
y0
r1
q1
x1
y1
r2
q2
x2
y2
r3
q3
x3
y3
..
..
..
..
.
.
.
.
rn2
qn2
xn2 yn2
rn1
qn1
xn1 yn1
TABELA 1. Algoritmo euclidiano estendido aplicado a a e b
A primeira coisa que voc vai observar que introduzimos duas linhas no
comeo da tabela que legalmente no deviam estar l. Estas linhas no correspondem a nenhuma diviso. Afinal nem a, nem b so restos. Chamaremos
estas linhas de 1 e 0, refletindo assim seu carter fora da lei. Logo veremos
porque so necessrias.

6. EQUAES DIOFANTINAS LINEARES

15

O que queremos, ento, fazer? Queremos descobrir como preencher as colunas x e y. Vamos imaginar, por um momento, que j recebemos a tabela
preenchida at um determinado ponto: at a (j 1)-sima linha, por exemplo.
Comeamos a preencher a j-sima linha dividindo rj2 por rj1 para achar rj e
qj , de forma que rj2 = rj1 qj + rj e 0 rj < rj1 . Assim
(7)

rj = rj2 rj1 qj .

Lendo nas linhas j1 e j2 os valores de xj2 , xj1 , yj2 e yj1 , podemos escrever
rj2 = axj2 + byj2 e

rj1 = axj1 + byj1 .

Substituindo estes valores em (6.3), obtemos


rj = (axj2 + byj2 ) (axj1 + byj1 )qj = a(xj2 qj xj1 ) + b(yj2 qj yj1 ).
Portanto

xj = xj2 qj xj1 e yj = yj2 qj yj1 .


Observe que, para calcular xj e yj , usamos apenas valores contidos nas duas
linhas imediatamente anteriores linha j, alm do quociente qj . Concluindo:
sabemos como preencher qualquer linha da tabela, desde que as duas linhas
que a precedem sejam conhecidas.
Temos assim um processo que nos permite, dadas duas linhas da tabela, determinar a imediatamente seguinte. Portanto, basta descobrirmos como achar
as duas primeiras linhas da tabela e saberemos como preench-la completamente, obtendo assim os valores de e desejados. aqui que entram em
jogo as duas linhas ilegais que introduzimos no incio da tabela. A razo pela
qual esto l que muito fcil calcular os valores de x e y nestes dois casos.
Interpretando estas linhas como as demais, deveremos ter
a = ax1 + by1 e

b = ax0 + by0 ;

que nos sugere escolher


x1 = 1, y1 = 0, x0 = 0 e y0 = 1;
como valores iniciais a partir dos quais todos os outros valores de x e y podem
ser determinados.
Vejamos um exemplo numrico. Tomando a = 1234 e b = 54 como na seo
4 do captulo 1, teremos a tabela 2.
Portanto, = 7 e = 160 e
(7) 1234 + 160 54 = 2.
Como sempre, precisamos analisar este algoritmo para saber porque pra
e porque funciona. Mas, como seu nome sugere, este novo algoritmo apenas
uma extenso do algoritmo original. Assim, alm da sequncia de divises,

16

1. ALGORITMOS FUNDAMENTAIS

x
y
resto quociente
1234
*
1
0

0
1
54
46
22
1 22 0 = 1
0 22 1 = 22
8
1
0 1 1 = 1
1 1 (22) = 23
6
5
1 5 (1) = 6 22 5 23 = 137
2
1
1 1 6 = 7 23 1 (137) = 160
0
3

TABELA 2. Algoritmo euclidiano estendido aplicado a 1234 e 54


estamos fazendo cculos adicionais para determinar os valores de x e y a cada
passo. Como o algoritmo euclidiano pra, este tambm tem que parar. Por
outro lado, os valores de e obtidos ao final so apenas o x e y da ltima linha
da tabela. Logo (6.1) verificada porque a condio anloga satisfeita para
os valores de x e y correspondentes a cada linha da tabela. Observe, tambm,
que, na prtica, no h necessidade de executar as duas colunas da tabela
acima porque, tendo calculado e d que satisfazem (4), podemos facilmente
encontrar o valor de usando a frmula
db
=
.
b
Formulando o algoritmo euclidiano estendido como um teorema, temos o seguinte
resultado.
T EOREMA 6.1. Sejam a e b inteiros positivos e seja d o mximo divisor comum entre a e b. Existem inteiros e tais que
a + b = d.
Voltando a nosso problema original, vejamos como usar o algoritmo euclidiano estendido para resolver qualquer equao diofantina linear. Dada a
equao ax + by = c, aplicamos o algoritmo euclidiano estendido a a e b obtendo seu mximo divisor comum d e inteiros e tais que a + b = d. Se
d no divide c, ento a equao no ter soluo e nada mais h a fazer. Por
outro lado, se d divide c, ento calculamos o cofator c de d em c e deduzimos
de (5) que o par (c , c ) soluo de ax + by = c.
Observe que tomamos cuidado em dizer que o par de inteiros assim calculado soluo, mas no a soluo. A razo para isto simples: uma equao
diofantina linear que tem uma soluo, obrigatoriamente ter uma quantidade

6. EQUAES DIOFANTINAS LINEARES

17

infinita de solues. Para provar isto, suponhamos que o par (x0 , y0) soluo
de ax + by = c; de modo que
ax0 + by0 = d.
Se a e b so os cofatores de d em a e b, respectivamente, ento
kab = k(da )b = ka (ab ) = ka b.
Logo, dado um nmero inteiro k qualquer, teremos que
a(x0 + kb ) + b(y0 ka ) = (ax0 + by0 ) + (kab ka b) = d.
Podemos, assim, concluir que:
se (x0 , y0 ) soluo de ax + by = c e k um inteiro qualquer,
ento (x0 + kb , y0 ka ) tambm soluo da mesma equao.
Tambm verdade que todas as solues de ax + by = c so da forma acima,
mas a demonstrao ter que esperar at chegarmos seo ???? do captulo
????.
Vejamos como aplicar o algoritmo que acabamos de descrever para resolver
a equao diofantina 2356293x + 26928y = 21, comeamos aplicando o algoritmo
euclidiano estendido, que resumimos na tabela 3.
Quociente
x
resto
2356293
**
1
26928
**
0
13557
87
1
13371
1
-1
186
1
2
165
71
- 143
21
1
145
7
- 1158
18
1
1303
3
0
*
*
TABELA 3. Algoritmo euclidiano estendido aplicado a 2356293 e 26928
de modo que d = 3 e = 1303, donde
1303 2356293 + 26928 = 3.

18

1. ALGORITMOS FUNDAMENTAIS

Resolvendo esta equao linear em uma varivel, descobrimos que = 114017.


Como 21 = 3 7, multiplicamos
por 7, obtendo:

1303 2356293 + (11401726928) 26928 = 21.

(1303 7) 2356293 +(11401726928 7) 26928 = 21.

como os cofatores de 3 em 2356293 e 26928 so, respectivamente 785431 e 8976,


ento a soluo geral da equao
2356293x + 26928y = 21,
dada por
x = (1303 7) + k 8976

y = (114017 7) k 785431,

qualquer que seja o inteiro k.

7. Recreio
Vamos concluir nosso estudo das equaes diofantinas lineares analisando
como podem ser utilizadas para resolver alguns problemas de carter recreativo, frequentemente encontrados em livros de matemtica. Contudo, nosso
interesse pelas equaes diofantinas vai muito alm dos problemas de carter
recreativo que elas nos permite resolver. Na verdade, alguns dos principais resultados que estudaremos requerem a soluo de equaes diofantinas, entre
eles o algoritmo de criptografia RSA. Mas vamos aos problemas.
P ROBLEMA 7.1. Determine todos os mltiplos de 12354 e de 7854 cuja soma
seja 18?
Comeamos modelando o problema em termos de uma equao diofantina.
Para isto, denotamos os mltiplos aos quais o problema se refere por 53213x e
72131y, em que x e y representam nmeros inteiros. Usando esta terminologia,
o problema corresponde equao
(8)

12354x + 7854y = 18.

Aplicando o algoritmo euclidiano estendido a 12354 e de 7854, obtemos a tabela


4.
Como mdc(12354, 7854) = 6, que divide 18, o termo constante da equao,
ento a equao tem soluo. Para encontr-las, usamos = 281 e
6 281 12354
=
= 442,
7854

7. RECREIO

19

x
resto quociente
12354
**
1
**
0
7854
4500
1
1
3354
1
-1
1146
1
2
1062
2
-5
84
1
7
54
12
- 89
30
1
96
24
1
- 185
6
1
281
TABELA 4. Algoritmo euclidiano estendido aplicado a 12354 e 7854
que satisfazem
12354 + 7854 = 6.

Multiplicando esta ltima equao por 3, obtemos

(3) 12354 + (3) 7854 = mdc(12354, 7854) = 18.

A soluo geral de (8) , ento,

3 281 + 1306k e 3 442 2059k.

Os mltiplos desejados so, portanto,

12354(3 281 + 1306k) e 7854(3 442 2059k).


Nosso segundo problema tambm recorrente nos livros de matemtica
recreativa, mas sua soluo modelagem e soluo em termos de equaes diofantinas bem mais elaborada que o anterior. Isto se d porque sua formulao
natural requer aritmtica modular, tpico que s estudaremos no captulo ???.
P ROBLEMA 7.2. Determine o menor inteiro positivo que deixe resto 2 quando
dividido por 28 e resto 5 quando dividido por 17.
Chamando de n o nmero a ser determinado, usamos o Teorema da Diviso
para escrever
(9)

n = 28q1 + 2 = 17q2 + 7,

20

1. ALGORITMOS FUNDAMENTAIS

em que q1 e q2 so inteiros positivos que representam os quocientes das divises de n por 3 e 7, respectivamente. Note que no podemos usar o mesmo
smbolo para denotar s quocientes de ambas as divises porque no h nenhuma razo para acreditar que sejam iguais. Mas, da igualdade (9), segue-se
que
0 = (17q2 + 7) (28q1 + 2) = 17q2 28q2 + 5.
Tomando x = q2 e y = q1 , obtemos, a partir do problema proposto, a equao
(10)

28x + 17y = 5.

O que no imediatamente aparente que uma soluo desta ltima equao


nos permite resolver o problema original. Mas, para isto, basta repetir, de trs
para a frente, os clculos que fizemos para chegar a (10). Digamos que x0 e y0
so inteiros positivos tais que
28x0 + 17y0 = 5.
Como 5 = 7 2, ento,
28x0 17(y0 ) = 7 + 2,
donde obtemos que o nmero
(11)

n = 28x0 + 2 = 17(y0 ) + 7

satisfaz as condies do problema. Contudo, para que n seja um nmero positivo, precisa ser possvel escolher x0 > 0 e y0 < 0. Para implementar este
procedimento, aplicamos o algoritmo euclidiano estendido a 28 e 17, obtendo a
tabela 5.
restos quocientes x
28
**
1
17
**
0
11
1
1
6
1
-1
5
1
2
1
1
-3
5
17
0
TABELA 5. Algoritmo euclidiano estendido aplicado a 28 e 17
Portanto,
28 (3) + 17 = 1,

EXERCCIOS

21

donde = 5. Multiplicando esta equao por 5, obtemos


28 (15) + 17 25 = 5.

Contudo, no podemos escolher x0 = 15 e y0 = 25, porque no satisfazem a


condio x0 > 0 e y0 < 0 que havamos estabelecido anteriormente. Contornamos este problema, usando a soluo geral de 28x + 17y = 5, pode ser escrita
na forma:
x = 15 + 17k e y = 25 28k.
Para que existam solues x0 e y0 satisfazendo as condies desejadas, deve
existir um inteiro k0 tal que
x0 = 15 + 17k0 > 0

y0 = 25 28k0 < 0.

Mas, da primeira inequao, k0 > 15/17, ao passo que da segunda inequao


k0 > 25/28. Como qualquer k0 > 1 satisfaz as duas desigualdades, teremos de
(11) que
n = 28(15 + 17k0 ) + 2 = 17(25 + 28k0 ) + 7
um inteiro positivo que deixa resto 2 na diviso por 28 e resto 7 na diviso por
17, qualquer que seja o inteiro k0 > 0. Como o problema pede o menor inteiro
que satisfaz estas condies, devemos escolher k0 = 1, o que nos d que
a soluo desejada.

n = 28 2 + 2 = 17 3 + 7 = 58

Exerccios
1. Para cada par a, b de nmeros inteiros abaixo, calcule o mximo divisor
comum e determine , de modo que mdc(a, b) = a + b.
(a) 14 e 35
(b) 252 e 180
(c) 6643 e 2873
(d) 272828282 e 3242
2. Sendo n um nmero inteiro maior que 1, verifique as seguintes igualdades:
(a) mdc(n, 2n + 1) = 1
(b) mdc(2n + 1, 3n + 1) = 1
(c) mdc(n! + 1, (n + 1)! + 1) = 1
3. Sejam n > m inteiros positivos. Mostre que se o resto da diviso de n por
m r ento o resto da diviso de 2n 1 por 2m 1 2r 1.
4. Sejam n > m inteiros positivos. O objetivo desta questo calcular mdc(22 +
m
1, 22 + 1).
n

22

1. ALGORITMOS FUNDAMENTAIS

(a) Usando que 22


1 = (22 + 1)(22 1), mostre que 22 1 mltiplo
2m
de 2 + 1 quando n > m. Qual o quociente desta diviso?
n
m
(b) Usando (1), mostre que o resto da diviso de 22 + 1 por 22 + 1 2.
n
m
(c) Usando (2), determine mdc(22 + 1, 22 + 1).
O resultado deste exerccio ser usado no exerccio 8 do captulo 3.
m+1

5. Na sequncia de Fibonacci 1, 1, 2, 3, 5, 8, 13 . . . , cada nmero depois do primeiro


soma dos dois anteriores. Denotando por fn o n-simo termo da sequncia
temos portanto que
fn = fn1 + fn2 ,
e que f0 = f1 = 1.
(a) Mostre que o mximo divisor comum de dois termos consecutivos da
sequncia de Fibonacci sempre 1.
(b) Quantas divises so necessrias para calcular mdc(fn, fn1 )?
6. Sejam a e b inteiros positivos. O mnimo mltiplo comum de a e b o
menor inteiro positivo que mltiplo de a e que mltiplo de b. Vamos
denotar este nmero por mmc(a, b). Mostre que
ab
mmc(a, b) =
.
mdc(a, b)
7. Escreva um programa que, tendo como entrada dois inteiros a e b, determina o mximo divisor comum de a e b. Adapte o seu programa para gerar
aleatoriamente pares de inteiros a e b e calcular o mdc(a, b). O programa
deve ter como entrada o nmero total de pares que voc deseja testar, e
como sada o quociente
total de pares cujo mdc 1
.
total de pares testados
Este quociente d uma medida da probabilidade de que um par de inteiros escolhido aleatoriamente seja co-primo. Vai ser necessrio deixar
o programa testar um nmero muito grande de pares para obter uma boa
aproximao da probabilidade. Execute o programa dez vezes para cada
valor escolhido para a entrada. Faa uma tabela com esses valores, tendo
como entrada 10, 100, 1000, 10000 e 100000 pelo menos. Usando argumentos de teoria da probabilidade possvel mostrar que, testando um nmero
grande de pares, o quociente acima deve ficar prximo de 6/2 ; veja [16, p.
16]. Como que este valor se compara aos resultados experimentais que
voc obteve?

CAPTULO 2

Equao de Pell
Neste captulo estudaremos a equao de Pell. Como vimos na seo ??
da introduo, esta equao diofantina vem sendo investigada desde a antiguidade e existe uma teoria bastante desenvolvida acerca das suas solues.
Comearemos considerando o mtodo utilizado pelos matemticos indianos
para gerar novas solues, a partir de outras duas j conhecidas. Na seo
seguinte, veremos que este mtodo pode ser interpretado como uma operao
no conjunto das solues da equao de Pell, o que nos levar definio de
grupo abeliano e ao estudo de algumas de suas propriedades mais elementares.
Finalmente, nas duas ltimas sees, descrevemos um algoritmo capaz de
achar uma soluo de uma equao de Pell e provamos que sempre para e
que funciona corretamente.

1. Compondo solues
Como vimos na introduo, a equao de Pell a equao diofantina
x2 dy2 = 1
em que d um nmero inteiro. Se x0 e y0 so nmeros inteiros tais que
x20 dy20 = 1,
dizemos que o par (x0 , y0 ) uma soluo de x2 dy2 = 1. Como as variveis x
e y aparecem ambas ao quadrado na equao, sempre que o par (x0 , y0 ) uma
soluo de x2 dy2 = 1, o mesmo vale para
(12)

(x0 , y0 ),

(x0 , y0 ),

(x0 , y0 ).

Observe, tambm, que, no importa qual seja o valor de d, a equao de Pell


sempre tem os pares (1, 0) como solues. Estas so as chamadas solues
triviais e so as nicas solues possveis quando d um inteiro negativo menor
que 1. J no caso em que d = 1, a equao tem outras duas solues, a saber
(0, 1). Uma verso devidamente decupada da demonstrao destes fatos pode
ser encontrada nos exerccios 3 e 4.
23

24

2. EQUAO DE PELL

Um caso mais interessante aquele em que d um quadrado perfeito. Digamos que d = r2 , para algum inteiro positivo r. Ento,
1 = x2 dy2 = x2 r2 y2 = x2 (ry)2 = (x ry)(x + ry).
Mas o produto dos nmero inteiros x ry e x + ry s pode ser igual a 1 se ambos
os termos forem iguais a 1, ou ambos forem iguais a 1. Obtemos, assim, os
sistemas lineares
x ry = 1
x + ry = 1

x ry = 1
x + ry = 1,

cujas solues so, respectivamente, (1, 0) e (1, 0). Portanto, tambm neste
caso a equao tem apenas as solues triviais. Mais detalhes podem ser encontrados no exerccio 5.
Levando em conta as consideraes dos dois ltimos pargrafos, h apenas
um caso em que ainda no sabemos resolver a equao de Pell: aquele em que d
um inteiro positivo, mas no um quadrado perfeito. Mesmo neste caso, no
difcil advinhar solues para a equao quando d pequeno. Por exemplo,
o par (2, 1) claramente uma soluo para x2 3y2 = 1. Uma soluo no
trivial para x2 2y2 = 1 no to bvia mas, depois de algumas tentativas,
verificamos que o par (3, 2) uma tal soluo. Com um pouco de pacincia, os
casos em que d = 5, 6, 7, 8 e 11 podem ser resolvidos da mesma maneira. J
d = 13 bem mais complicado, porque a soluo cujas entradas so as menores
possveis, em valor absoluto, (649, 180).
Como os matemticos indianos do sculo VII j sabiam, possvel obter
infinitas solues de uma dada equao de Pell a partir de qualquer soluo
no trivial. Para isto usavam a frmula de Brahmagupta
(13)

(xu + dyv)2 d(xv + yu)2 = (x2 dy2 )(u2 dv2 ),

que j consideramos na introduo. Se x1 , y1 , x2 e y2 forem inteiros que satisfazem


x21 dy21 = x22 dy22 = 1,
ento, por (13),
(x1 x2 + dy1 y2 )2 d(x1 y2 + y1 x2 )2 = 1.
Em outras palavras, se (x1 , y1 ) e (x2 , y2 ) so solues da equao de Pell x2
dy2 = 1, ento
(14)

(x1 x2 + dy1 y2 , x1 y2 + y1 x2 )

tambm soluo da mesma equao.


Por exemplo, como os pares (2, 1) e (1, 0) so solues de x2 3y2 = 1, ento
podemos combin-los usando a frmula (14), obtendo assim que o par (2, 1)

1. COMPONDO SOLUES

25

tambm soluo da mesma equao. Mas isto, convenhamos, no muito


interessante porque j sabamos que (2, 1) so todas elas solues de x2
3y2 = 1. Combinar (2, 1) e (1, 0) ainda menos interessante, porque o resultado
o prprio par (2, 1). Antes que voc comece a pensar que a frmula (14) no
, afinal, to til, convm lembrar que h uma possibilidade que ainda no
exploramos: aquela que consiste em combinar (2, 1) com ele mesmo. Fazendo
isto, obtemos o par (7, 4), que uma soluo genuinamente diferente de todas
as anteriores. Isto sugere duas novas possibilidades. A primeira consiste em
combinar (7, 4) com ele mesmo, donde resulta o par (97, 56); j na segunda,
combinamos (2, 1) com (7, 4), obtendo (26, 15).
Como voc deve ter notado, seria mais conveniente se tivssemos uma maneira
mais compacta de expressar as aplicaes da frmula (14) do que a utilizada no
pargrafo anterior. O ideal seria uma notao que nos informasse, de maneira
clara e direta, quais so os pares que esto sendo combinados e qual o par resultante da aplicao da frmula. Naturalmente, h vrias maneiras possveis
de fazer isto. A que utilizaremos ter consequncias significativas em nosso
estudo da equao de Pell.
Para comear, dado um inteiro d, definimos o conjunto soluo da equao
de Pell x2 dy2 = 1 como sendo o conjunto de todos os pares de inteiros (x, y)
que satisfazem aquela equao. Denotando este conjunto por P(d), podemos
escrever
P(d) = {(x, y) Z Z | x2 dy2 = 1}.
Lembre-se que os elementos do produto cartesiano AB entre dois conjuntos A
e B so os pares (a, b) em que a A e b B. No caso acima, estamos listando
apenas os pares que satisfazem a condio imposta pela equao de Pell. A
propsito, j sabemos que P(d) nunca vazio, porque (1, 0) P(d), qualquer
que seja o inteiro d.
Tendo introduzido P(d), podemos interpretar a identidade (13) como uma
maneira de combinar dois elementos de P(d) de modo a obter um novo elemento de P(d). Usando a terminologia usual, o que fizemos foi definir uma
operao no conjunto P(d), para a qual usaremos a notao . Assim, dadas
duas solues 1 = (x1 , y1 ) e 2 = (x2 , y2) da equao de Pell x2 dy2 = 1,
definimos
(15)

1 2 = (x1 x2 + dy1 y2 , x1 y2 + y1 x2 ).

A identidade (13) nos garante que, como 1 , 2 P(n) ento 1 2 P(d).


Usando esta notao, os clculos com solues de x2 3y2 = 1 que fizemos no

26

2. EQUAO DE PELL

incio desta seo podem ser resumidos da seguinte forma:


(2, 1) (1, 0) = (2, 1)

(7, 4) (7, 4) = (97, 56)

(2, 1) (2, 1) = (7, 4)

Para falar a verdade, tambm vimos que

(2, 1) (7, 4) = (26, 15).

(2, 1) (1, 0) = (2, 1)

e as equaes acima sugerem outras combinaes que podemos tentar, como


(1, 0) (2, 1) e (7, 4) (2, 1). Entretanto, se voc efetuar os clculos correspondentes, ver que a troca nas posies dos pares no afeta em nada o resultado.
Estes ltimos comentrios escondem propriedades gerais da operao ,
que convm explicitar para que possamos us-las livremente em nosso estudo
das equaes de Pell. As propriedades so as seguintes. Em primeiro lugar,
uma aplicao direta de (15) nos d
se e = (1, 0) e um elementos qualquer de P(d), ento e =
;
isto , o par (1, 0), que denotaremos a partir de agora por e, funciona como
elemento neutro para a operao . Por outro lado, a comutatividade da soma
e da multiplicao de nmeros inteiros implica que
quaisquer que sejam 1 , 2 P(d) teremos 1 2 = 2 1 ;
de modo que tambm comutativa. Uma outra propriedade, que no encontramos anteriormente, a seguinte: se = (x0 , y0 ) P(d), ento = (x0 , y0 )
satisfaz
(16)

= (x0 , y0) (x0 , y0 ) = (1, 0);

de modo que , que tambm pertence a P(d), funciona como uma espcie de
inverso de .
Apesar das propriedades que j identificamos simplificarem em muito nossos clculos com solues de uma equao de Pell, ainda deixam problemas
bastante simples sem soluo. Por exemplo, dado P(d), podemos definir
seu quadrado 2 como sendo e seu cubo 3 como sendo
2

ou

2 ;

j que so iguais pela propriedade comutativa. Mas como definir 4 ? A primeira


impresso que a resposta bvia; basta tomar
3 = 3 .

1. COMPONDO SOLUES

27

Entretanto, neste caso, tambm poderamos definir 4 como 2 2 , que no


sabemos se ou no igual a 3 . Verificamos, assim, que, embora a comutatividade de basta para podermos definir o cubo de uma soluo sem
ambiguidade, o mesmo no se d com a quarta potncia. Para podermos lidar
com ela, precisamos mostrar que
1 (2 3 ) = (1 2 ) 3 , quaisquer que sejam 1 , 2 , 3
P(d).
Esta propriedade, conhecida como associativa, nos d a garantia de que, no
importa como agrupemos os termos de um produto em uma multiplicao, o
resultado sempre ser o mesmo. De todas as propriedades bsicas da operao
que definimos em P(d) esta a mais complicada de provar, porque os clculos so longos e requerem ateno; mas no so difceis, razo por que vamos
deix-los por sua conta. Para confirmar que a associatividade era o ingrediente que faltava para eliminar a ambiguidade na definio da quarta potncia,
verificaremos que se P(d) ento
Comeamos observando que

3 = 2 2 .

3 = ( 2 ),

pois 3 = 2 . Mas, pela associatividade,

( 2 ) = ( ) 2 ,

que igual a 2 2 , como desejvamos mostrar.

No podemos encerrar esta questo sem mostrar que a operao de multiplicao de solues de uma equao de Pell admite uma linda interpretao
geomtrica. Em primeiro lugar, o conjunto de todos os pontos com coordenadas
reais que satisfazem a equao x2 dy2 = 1 uma hiprbole. Por exemplo,
quando d = 2 a hiprbole correspondente ilustrada na figura 1.

F IGURA 1. A hiprbole x2 2y2 = 1

28

2. EQUAO DE PELL

Para multiplicar duas solues P1 e P2 da equao de Pell x2 dy2 = 1 de


maneira puramente geomtrica comeamos determinando a reta r, paralela ao
segmento que une P1 a P2 , e que passa pelo ponto e = (1, 0). Como a equao de
Pell tem grau dois, esta reta ter que intersectar a hiprbole em um segundo
ponto, que ser o produto desejado; veja Exerccio 14. Queremos mostrar que
esta construo produz o ponto P1 P2 . Para isto, suporemos que P1 = (x1 , y1) e
que P2 = (x2 , y2 ). A reta que passa por P1 e P2 tem coeficiente angular
y2 y1
(17)
=
.
x2 x1
Por outro lado, temos de (15) que a reta por e = (1, 0) e P1 P2 tem coeficiente
angular
x1 y2 + x2 y1
.
=
x1 x2 + dy1 y2 1
Para que estas duas retas sejam paralelas, necessrio que = , que equivale a dizer que
(x1 y2 + x2 y1 )(x2 x1 ) = (x1 x2 + dy1 y2 1)(y2 y1 ).
Contudo, um clculo simples mostra que
(x1 y2 +x2 y1 )(x2 x1 )(x1 x2 +dy1 y2 1)(y2 y1 ) = dy1 y22 +dy21 y2 x21 y2 +y2 +x22 y1 y1 ,
que podemos reescrever na forma
(18)

y1 (dy22 + x22 1) + y2 (x21 + dy21 + 1).

Entretanto, como P1 e P2 so, por hiptese, solues da equao de Pell x2


dy2 = 1, teremos que
x21 dy21 = 1 e que

x22 dy22 = 1

donde segue, imediatamente, que a expresso (18) nula, confirmando, assim,


que = , como queramos mostrar.
A despeito do que acabamos de provar, se tentarmos esboar a figura correspondente ao clculo do quadrado do ponto (2, 1) P(3) vamos ter uma amarga
surpresa. Afinal, para isso, teramos que aplicar a construo geomtrica com
P1 = P2 . Contudo, neste caso, a frmula para o coeficiente angular dada em
(17) no faz sentido. Por sorte podemos contornar isto de maneira bastante
simples, porque medida que o ponto P2 se aproxima do ponto P1 , a secante vai
se aproximando cada vez mais da tangente, como ilustra a figura 2. Isto sugere que a soluo do problema est em substituir, na construo geomtrica, a
secante atravs de P1 e P2 , pela tangente em P1 . Entretanto, isto requer que
determinemos a inclinao m, em um dado ponto P, da tangente hiprbole
x2 dy2 = 1. Se voc sabe um pouco de clculo diferencial, no ter dificuldade em verificar que se y0 6= 0, ento m = x0 /dy0 ; se no sabe, encontrar um

2. GRUPOS

29

F IGURA 2. A tangente no ponto A (linha cheia) como limite das secantes


roteiro de como provar isto no exerccio 14. A figura 3 ilustra a representao
geomtrica do clculo do quadrado de (2, 1) em P(3).

B
b

F IGURA 3. C = (7, 4) o quadrado do ponto B = (2, 1)


2. Grupos
Vimos na seo anterior que, dada uma equao de Pell, possvel definir
uma operao no conjunto das suas solues. Alm disso, esta operao satisfaz
vrias das propriedades que estamos acostumados a associar soma e multiplicao de nmeros, sejam eles inteiros, reais ou complexos. A frequncia com
que uma operao definida em um dado conjunto satisfaz estas propriedades
tanta que os matemticos usam o termo grupo para indicar sua presena.

30

2. EQUAO DE PELL

Um grupo constitudo de dois ingredientes bsicos: um conjunto e uma


operao definida neste conjunto. Vamos chamar o conjunto de G e a operao
de . Por operao estamos entendendo uma regra que a cada dois elementos a, b G associa um terceiro elemento a b que tambm est em G. As
operaes mais conhecidas so, certamente, a soma, a subtrao e a multiplicao definidas nos conjuntos de nmeros inteiros, racionais e reais. Outros
exemplos de operaes com os quais voc j deve ter se deparado so a soma
e o produto de matrizes e a soma de vetores do plano. Observe, contudo, que
nem tudo que, em matemtica, chamamos de operao coberto pela definio
acima. Por exemplo, o produto escalar de dois vetores do plano associa a um par
de vetores um nmero, no um vetor; ao passo que, segundo nossa definio, a
cada par de elementos de um conjunto, a operao deve associar um elemento
do mesmo conjunto. Para chamar a ateno para este fato, diremos que a operao de um grupo tem que ser fechada no sentido de que combina elementos
de um conjunto e retorna um outro elemento do mesmo conjunto. Com isto
estamos prontos para a definio oficial de grupo.
Um conjunto G no qual est definida uma operao um grupo se, quaisquer que forem os elementos a, b, c G, a operao satisfaz as seguintes propriedades:
fechamento: a b G;
associatividade: a (b c) = (a b) c;
comutatividade: a b = b a;
elemento neutro: existe e G tal que a e = a;
elemento inverso: dado a G, existe a1 G tal que a a1 = e.
Para ser honesto, a definio usual de grupo no inclui a comutatividade da
operao. Um grupo cuja operao comutativa, como ser o caso de todos
os exemplos neste livro, conhecido como grupo abeliano. Contudo, dado que
s estamos interessados em grupos abelianos, podemos omitir o adjetivo sem
incorrer em nenhuma confuso, o que simplifica nossa terminologia. Outra
coisa: precisamos de um verbo que faa o papel da expresso combinar dois
elementos do conjunto G pela operao . Como estrelar soa muito estranho,
usaremos multiplicar, a no ser quando a operao for a soma ou a subtrao,
para as quais j existem os verbos somar e subtrair.
Uma boa maneira de nos certificarmos de que entendemos um novo conceito
buscando objetos matemticos que exemplifiquem este conceito, assim como
objetos para os quais alguma das propriedades requeridas no satisfeita. Por

2. GRUPOS

31

exemplo, os nmeros inteiros, racionais, reais e complexos so grupos relativamente operao de soma e o mesmo vale para os vetores do plano e as matrizes 2 2. Por outro lado, os inteiros no constituem um grupo relativamente
subtrao, porque esta operao no associativa, nem comutativa, nem tem
elemento neutro; veja exerccio 15. Quando a operao a multiplicao, nenhum dos conjuntos de nmeros mencionados acima um grupo, porque 0 no
tem inverso multiplicativo; isto , no existe nenhum nmero que multiplicado
por 0 d como resultado 1. Embora, os nmeros racionais, reais e complexos
no nulos formem um grupo para a multiplicao usual, o mesmo no se d
com os inteiros, j que os nicos inteiros que admitem inversos multiplicativos
so 1 e 1.
A menos dos exemplos mencionados acima, e que voc j conhecia, mesmo
sem saber que eram grupos, o nico outro grupo com o qual trabalharemos
neste captulo o que introduzimos na seo anterior; isto , o conjunto P(d)
das solues inteiras da equao de Pell x2 dy2 = 1, com a operao definida
pela frmula (15). Contudo, mais exemplos podem ser encontrados exerccios
16 e 17. Embora um grupo devesse sempre ser designado pelo par formado
pelo conjunto e a operao, seguiremos a tradio de no mencionar a operao
quando ela estiver implcita no contexto. Por exemplo, como definimos apenas
uma operao no conjunto das solues da equao de Pell x2 dy2 = 1, vamos
nos referir a este grupo apenas como P(d), e no como (P(d), ).
Uma coisa que as propriedades das operaes de um grupo nos permitem
fazer resolver equaes simples. Por exemplo, se (G, ) um grupo e a, b G,
podemos nos perguntar se existe um elemento x G que satisfaa a equao
(19)

a x = b.

Como todo elemento de um grupo tem inverso, tem que existir um elemento
a1 G tal que a1 a = e. Multiplicando a equao (19) por a1 , obtemos
a1 (a x) = a1 b.
Levando em conta que associativa, a equao acima equivale a
(a1 a) x = a1 b.
Mas
(a1 a) x = e x = x;
de modo que
x = a1 b.
Mostramos, assim, que em qualquer grupo, toda equao da forma a x = b
tem soluo, e que esta soluo sempre igual a a1 b. Por exemplo, para achar

32

2. EQUAO DE PELL

o elemento S P(3) que satisfaz


S (7, 4) = (2, 1),

multiplicamos os dois lados da equao pelo inverso de (7, 4) que, pela equao
(16) (7, 4), obtendo
de modo que

S (7, 4) (7, 4) = (2, 1) (7, 4);


S = (2, 1) (7, 4) = (26, 15).

H um outro tipo de problema que podemos resolver em um grupo e que


especialmente importante do ponto de vista da criptografia mas, antes de
enunci-lo, precisamos definir potncias de um elemento em um grupo. Como
vimos na seo anterior, a associatividade de uma operao garante que o resultado de um produto de elementos independente da maneira como escolhemos agrup-los quando efetuamos o clculo. Isto nos permite definir a potncia
de um dado elemento a, de um grupo (G, ), por um expoente inteiro positivo k
como
ak = |a {z
a} .
k vezes

Por exemplo, nossos clculos anteriores mostram que no grupo P(3),


(2, 1)2 = (7, 4),

(2, 1)3 = (26, 15) e

(2, 1)4 = (97, 56).

Segue diretamente desta definio e da associatividade da operao que, se k


e so inteiros positivos, ento
(20)

ak a = ak+

(ak ) = ak .

Estas frmulas, por sua vez, sugerem que deveramos definir a0 como sendo o
elemento neutro de G, que denotaremos por e. Para entender porqu, observe
que tomando = 0 na primeira das frmulas em (20), obtemos
ak a0 = ak+0 = ak .
Mas, multiplicando a equao acima pelo inverso de ak , conclumos que
e a0 = e.
Como e a0 = a0 pela definio do elemento neutro, temos que a0 = e, como
havamos afirmado. Com isto estamos prontos para enunciar o problema mencionado no incio deste pargrafo.
P ROBLEMA DO LOGARITMO
algum inteiro k tal que bk = a?

DISCRETO.

Dados a e b em um grupo G, existe

2. GRUPOS

33

Talvez voc se surpreenda pelo uso da palavra logaritmo neste problema,


mas a escolha bastante adequada. Afinal de contas, se a e b fossem nmeros
reais, o nmero real k que satisfaz bk = a seria o logaritmo de a na base b. Ao
contrrio das equaes lineares, que sempre tm soluo qualquer que seja o
grupo e os elementos a e b que escolhermos, o problema do logaritmo discreto
nem sempre tem soluo. Alm disso, e esta a parte importante em criptografia, ainda que o problema tenha soluo, pode ser extremamente difcil
obt-la. A segurana do algoritmo de criptografia conhecido como El Gamal,
por exemplo, baseia-se na dificuldade de resolver o problema do logaritmo discreto em certos grupos; veja Exerccio ??? do captulo ???.
A noo de potncia nos permite mostrar que P(3) um conjunto infinito.
Para provar isto, analisaremos o que acontece quando comparamos as coordenadas de um dado par P = (a, b) com as do seu quadrado. Usando a frmula
(15), verificamos que
P2 = (a2 + 3b2 , 2ab).
Mas, se a e b so ambos positivos, ento
a < a2 + 3b2

b < 2ab.

Em outras palavras, as coordenadas de P2 so ambas maiores que as respectivas coordenadas de P. Denotaremos isto escrevendo
P < P2 .
Note que esta desigualdade implica que as coordenadas de P2 tambm tm que
ser positivas, de forma que o mesmo argumento aplicado a P2 garante que
P2 < P4 ;
e assim por diante. Em outras palavras, temos que se as coordenadas de P so
positivas, ento a sequncia
k

P < P2 < P4 < P8 < < P2 <

tem que ser infinita, porque as coordenadas de qualquer um dos seus pares tm
que ser maiores que as do seu antecessor. Logo, escolhendo P = (2, 1), obtemos
uma sequncia infinita de pares distintos em P(3), provando o que desejvamos. Se voc est familiarizado com o princpio de induo finita, vai identificar esta demonstrao como uma aplicao mal disfarada deste mtodo; caso
contrrio, talvez voc queira reler este argumento depois de estudar o captulo
??.
Para completar nossa anlise da equao de Pell falta, apenas, descobrir
como achar uma soluo de x2 dy2 = 1 no caso em que o inteiro positivo d
no um quadrado perfeito. claro que podemos fazer isto na base da fora
bruta. Por exemplo, incrementamos y de um em um, calculando o valor de

34

2. EQUAO DE PELL

p
1 + dy2 correspondente. Teremos achado
uma soluo da equao quando
p
encontrarmos um y para o qual x = 1 + dy2 nmero inteiro. O problema
deste algoritmo que s temos certeza de que funciona se j soubermos que
toda equao de Pell para a qual d no quadrado perfeito sempre tem soluo
com entradas positivas. Na prxima seo descreveremos um outro algoritmo,
muito menos ingnuo que a busca proposta acima, e que seremos capazes de
provar que sempre para, retornando uma soluo da equao de Pell que lhe
foi dada como entrada.
3. Achando solues
Nesta seo completamos nossa anlise da equao de Pell, descrevendo
um algoritmo que, tendo como entrada um inteiro positivo d, que no um
quadrado perfeito, retorna uma soluo da equao de Pell x2 dy2 = 1. Na
forma em que vamos apresent-lo este algoritmo foi descrito em uma carta de
John Wallis, em que ele explica a soluo de um problema proposto por Fermat.
Segundo Wallis, o algoritmo teria sido descoberto por William Brouncker. Na
verdade, uma verso do mesmo algoritmo, conhecido como mtodo cclico, era
conhecida dos matemticos indianos desde o sculo XII, embora os matemticos europeus que estudaram a equao no tivessem conhecimento disto. Seguindo
os passos de Wallis, vamos descrever nesta seo o mtodo cclico como idealizado por Brouncker e executar um exemplo passo a passo. No final da seo
enunciamos o mtodo na forma de um algoritmo, cuja demonstrao detalhada
ser feita na prxima seo. Este algoritmo ilustra um fato surpreendente,
mas comum em matemtica: um problema mais geral pode ser mais fcil de
resolver que um de seus casos especiais.
Digamos que d > 0 um inteiro positivo que no um quadrado perfeito e
seja
(21)

x2 dy2 = 1

a equao de Pell que queremos resolver. Diremos que uma soluo de (21)
positiva se suas coordenadas so inteiros maiores que zero. Se (u0 , v0 ) uma
soluo positiva desta equao, ento
u20 = dv20 + 1 > v20 ,
de modo que u0 > v0 . Portanto, ao dividir u0 por v0 , obteremos
u0 = v0 q + r em que

r > 0.

Substituindo esta expresso para u0 na equao (21) e expandindo o produto


notvel, podemos concluir que (v0 , r) soluo da equao diofantina
(q2 d)x2 + 2qxy + y2 = 1.

3. ACHANDO SOLUES

35

Como v0 , q e r so inteiros positivos, (v0 , r) s pode ser soluo desta equao


se d > q2 . Por isso, vamos reescrev-la na forma
(22)

(d q2 )x2 2qxy y2 = 1,

j que isto faz com que o coeficiente do termo quadrtico em (22) seja positivo
quando d > q2 . O ponto crucial deste argumento que 0 r < v0 porque, se
pudermos iterar o procedimento acima, obteremos equaes com solues em
inteiros cada vez menores, reduzindo assim o problema a outro mais fcil de
resolver. Infelizmente, h um obstculo bvio implementao desta ideia. O
problema que o par (v0 , r), obtido quando substitumos u0 = v0 q + r em u0
dv20 = 1, soluo de (22), que no , nem mesmo, uma equao de Pell. A sada
consiste em ampliar o escopo das equaes que estamos tentando resolver, de
modo a incluir tanto (21), quanto (22).
Seguindo os passos de Brouncker, devemos considerar equaes da forma
(23)

Ax2 2Bxy Cy2 = 1,

em que A, B e C so inteiros positivos. Se (u0 , v0 ) for uma soluo desta equao


e q e r forem inteiros positivos tais que u0 = v0 q + r ento, substituindo esta
ltima expresso em (23), obtemos
(24)

(Aq2 2Bq C)y2 + 2(Aq B)ry + Ar2 = 1.

Note que precisamos que q seja positivo, pois se q = 0, ento r = u0 e a substituio em nada alteraria a equao dada. Brouncker props escolher q como o
maior inteiro para o qual Aq2 2Bq C < 0. Com isso o coeficiente de y2 em
(24) necessariamente negativo. Assim, multiplicando (24) por 1 e tomando
A1 = (Aq2 2Bq C),

B1 = Aq B

C1 = A

obtemos a equao
A1 y2 2B1 yr C1 r2 = 1.
Note a inverso do sinal do lado direito da equao. Como C1 = A > 0 por
hiptese e A1 > 0 pela escolha de q, esta ltima equao ser da forma (23)
desde que B1 tambm seja positivo. Como veremos a seguir, o mtodo de
Brouncker consiste em iterar esta construo at obter uma equao para a
qual seja fcil obter uma soluo. No melhor estilo da poca, nem Brouncker,
nem Wallis, tentaram provar que este mtodo sempre funciona corretamente.
Parecem ter ficado satisfeitos em verificar que tudo corria como previsto nos
exemplos aos quais aplicaram o mtodo.
Para podermos sistematizar o mtodo de Brouncker vamos introduzir a
seguinte terminologia. Digamos que F(x, y) = Ax2 2Bxy Cy2 e que q o
maior inteiro positivo tal que
F(q, 1) = Aq2 2Bq C < 0,

36

2. EQUAO DE PELL

ento, diremos que a transformada de F a forma


Ft (x, y) = A1 x2 2B1 xy C1 y2 ,
em que,
(25)

A1 = (Aq2 2Bq C),

B1 = Aq B

C1 = A.

Os clculos acima tambm mostram que


F(x0 , y0 ) = F(qy0 + r, y0 ) = Ft (y0 , r) = Ft (y0 , x0 qy0 ).
Portanto, se F(x0 , y0 ) = 1, ento Ft (y0 , x0 qy0 ) = 1. Observe que houve uma
inverso do sinal do termo constante na passagem de F sua transformada. H
uma outra maneira de enunciar esta mesma concluso que se adapta melhor
aplicao que dela faremos no algoritmo para resolver a equao de Pell.
Supondo que (x1 , y1 ) soluo de Ft (x, y) = 1 e comparando-a com (y0 , x0 qy0 )
deduzimos que
x1 = y0 e y1 = x0 qy0 ;
donde
x0 = y1 + qy0 = y1 + qx1 e y0 = x1 .
Com isto expressamos as coordenadas de uma soluo de F(x, y) = 1 em termos das coordenadas de uma soluo de Ft (x1 , y1 ) = 1. Resumindo, temos a
seguinte concluso.
C ONCLUSO. Se q o maior inteiro positivo tal que F(q, 1) < 0 e Ft (x1 , y1 ) =
1, ento F(y1 + qx1 , x1 ) = 1.
O prximo passo consiste em iterar o procedimento acima at obter uma
equao cujas solues so fceis de descobrir. Seguindo o exemplo de Wallis,
comearemos ilustrando a aplicao do algoritmo uma equao especfica.
Para tornar a apresentao mais clara, adicionaremos o ndice i forma construda na i + 1-sima iterao do algoritmo, assim como s suas variveis e
demais elementos do algoritmo. Portanto, se F(x, y) = x2 dy2 , ento
F0 = Ft ,

Fi = (Fi1 )t

quando

A forma Fi pode ser escrita como

i 1.

Fi = Fi (xi , yi ) = Ai x2i 2Bi xi yi Cy2i .


em que estamos supondo, tacitamente, que Ai , Bi e Ci so inteiros positivos.
Convm lembrar que, conforme a concluso a que chegamos acima, as variveis
de Fi e de Fi1 esto relacionadas por
(26)

xi1 = qi xi + yi

yi1 = xi ,

em que qi o maior inteiro positivo para o qual Fi (qi , 1) < 0. Finalmente,


a alternncia do sinal do termo constante na passagem de uma forma sua
transformada implica que Fi (xi , yi ) = (1)i .

3. ACHANDO SOLUES

37

Talvez voc esteja se perguntando porque definimos F0 como sendo a transformada da equao de Pell dada e no a prpria equao de Pell. A razo
para esta escolha s se tornar clara na prxima seo, onde analisaremos em
detalhe o funcionamento do mtodo cclico.
Usando a notao introduzida acima, a equao cuja soluo Wallis determina na carta que enviou a Brouncker em 17 de dezembro de 1657, ver [13, p.
479-480], pode ser escrita na forma F(x, y) = 1, em que
F0 (x, y) = x2 13y2 .
Como a maior raiz de F(t, 1) = 0 t = 3.59375..., o maior inteiro q0 para o qual
F(q, 1) < 0 q = 3. Fazendo a substituio
e

x = y0 + 3x0

y = x0

em F(x, y) e no ponto P = (x, y), obtemos


F0 (x0 , y0 ) = 4x20 6x0 y0 y2

P = (y0 + 3x0 , x0 );

de modo que de F0 (x0 , y0 ) = 1 obtivemos F0 (x0 , y0 ) = 1. Repetindo este procedimento com F0 (x0 , y0 ) = 0, verificamos que F0 (1, t) = 0 tem uma nica raiz
positiva em t = 1.65625..., de modo que q0 = 1. Aplicando a substituio
x0 = y1 + x1

y0 = x1

P = (4x1 + 3y1 , y1 + x1 );

a F0 (x0 , y0 ) e a P, temos que


F1 (x1 , y1 ) = 3x21 2x1 y1 4y21

com F0 (x0 , y0 ) = 1 tendo sido convertido em F1 (x1 , y1 ) = 1. Para chegar ao


resultado desejado, o algoritmo executa mais oito etapas, que resumimos, juntamente com as duas que j calculamos, na tabela 1, na qual a forma Fi est
abreviada como a trinca [Ai , Bi , Ci ].
De acordo com a tabela, obtemos, aps dez passos, obtemos a forma
F9 (x9 , y9 ) = x29 6x9 y9 4y29
que tem como soluo x9 = 1 e y9 = 0. Substituindo estes valores em
P = (649x9 + 393y9 , 180x9 + 109y9 )
conclumos que
P = (649, 180)
uma soluo de x2 13y2 = 1. Brouncker e Wallis descobriram que, longe
de ser atpico, o comportamento do mtodo quando d = 13 se repetia em todos
os exemplos. Mais precisamente, era sempre possvel encontrar um nmero
inteiro positivo par k de modo que o coeficiente de x2k em Fk (xk , yk ) fosse igual
a 1, garantindo assim que Fk (1, 0) = 1, o que permitia resolver F0 (x0 , y0 ) = 1

38

2. EQUAO DE PELL

Passo q
0
1
2
3
4
5
6
7
8
9

Substituies

3 x = y0 + 3x0 e y = x0
1 x0 = y1 + x1 e y0 = x1
1 x1 = y2 + x2 e y1 = x2
1 x2 = y3 + x3 e y2 = x3
1 x3 = y4 + x4 e y3 = x4
6 x4 = y5 + 6x5 e y4 = x5
1 x5 = y6 + x6 e y5 = x6
1 x6 = y7 + x7 e y6 = x7
1 x7 = y8 + x8 e y7 = x8
1 x8 = y9 + x9 e y8 = x9

Fi (xi , yi )

[4, 3, 1]
[3, 1, 4]
[3, 2, 3]
[4, 1, 3]
[1, 3, 4]
[4, 3, 1]
[3, 1, 4]
[3, 2, 3]
[4, 1, 3]
[1, 3, 4]

(3x0 + y0 , x0 )
(4x1 + 3y1 , y1 + x1 )
(7x2 + 4y2 , 2x2 + y2 )
(11x3 + 7y3 , 3x3 + 2y3
(18x4 + 11y4 , 5x4 + 3y4 )
(119x5 + 18y5 , 33x5 + 5y5 )
(137x6 + 119y6 , 38x6 + 33y6 )
(256x7 + 137y7 , 71x7 + 38y7 )
(393x8 + 256y8 , 109x8 + 71y8
(649x9 + 393y9 , 180x9 + 109y9 )

TABELA 1. Aplicao do mtodo de Brouncker a x2 13y2 = 1


com bastante facilidade. levando isto em conta, podemos enunciar o mtodo de
Brouncker e Wallis da seguinte forma.
A LGORITMO 3.1 (Mtodo cclico). Dado um inteiro positivo d, que no um
quadrado perfeito, o algoritmo retorna uma soluo no trivial da equao de
Pell x2 dy2 = 1.
Calcule a parte inteira q da raiz quadrada de d.
Inicialize A com (q2 d), B com q e C com 1.
Inicialize um contador k := 1 e P := [x, y].
Enquanto A 6= 1 ou k for mpar repita:
Determine o maior inteiro q menor que a raiz positiva de At2
2Bt C = 0.
Substitua A por (Aq2 2Bq C), B por Aq B e C por A.
Substitua x por qx + y e y por x em P.
Incremente k de uma unidade.
Substitua x por 1 e y por 0.
Retorne P.
Embora nossa descrio do algoritmo de Brouncker esteja completa, no
fcil entender porque a execuo deste conjunto de instrues deveria parar.
Uma anlise mais detalhada do que fizemos revela que h muito mais a ser
verificado. A lista de pendncias a seguinte:

4. ANLISE DO ALGORITMO DE BROUNCKER

39

(a) determinar condies sobre F, sob as quais Ft existe e tem coeficientes


positivos;
(b) assegurar que as condies em (a) se propagam transformada, permitindo que o algoritmo possa ser iterado;
(c) mostrar que as condies que fazem o algoritmo parar sempre so realizadas aps uma quantidade finita de etapas.
A ressalva sob a existncia de Ft em (a) necessria porque a transformada
s existe se houver um inteiro positivo q para o qual F(q, 1) < 0. Note que
h uma grande diferena entre, de um lado (a) e (b), e do outro (c). De fato,
para resolvermos (a) e (b) basta considerarmos o que ocorre na passagem de
uma dada forma sua transformada; j (c) requer que consideremos o efeito
do algoritmo sobre tantos passos quantos forem necessrios para atingirmos
as condies que fazem o algoritmo parar. Por isso vamos nos referir a (a) e (b)
como parte da anlise local do algoritmo e a (c) como resultando de sua anlise
global. A prxima seo dedicada a uma demonstrao detalhada de (a), (b)
e (c).
4. Anlise do algoritmo de Brouncker
Comeamos a seo com a anlise local do algoritmo de Brouncker, que
trata da passagem de uma forma sua transformada. Ao longo de toda a
anlise local, denotaremos por F a forma
F(x, y) = Ax2 2Bxy Cy2 ,
em que A > 0, B > 0 e C > 0 so inteiros. Se F(t, 1) = 0 tiver uma raiz positiva
maior que 1, determinamos o maior inteiro positivo q para o qual F(q, 1) < 0 e
definimos a transformada Ft de F por
Ft (x , y ) = F(y + qx , x ).
Escrevendo
Ft (x , y ) = A (x )2 2B x y C (y )2 ,
vimos que
(27)

A = (Aq2 2Bq C),

B = (Aq B)

C = A.

Portanto, para que Ft possa ser calculada e tenha as mesmas propriedades que
F, precisamos identificar condies que garantam que:
(1) F(t, 1) = 0 tenha uma raiz maior que 1;
(2) A > 0, B > 0 e C > 0;
(3) as condies que garantem (1) e (2) tambm valham para Ft .

40

2. EQUAO DE PELL

q
b

q+1

F IGURA 4. A parbola u = F(t, 1).


As condies desejadas decorrem da anlise da parbola u = F(t, 1), ilustrada
na figura 4. Para comear, o discriminante 4(B2 + AC) de F(t, 1) = 0 positivo,
de modo que a equao F(t, 1) = 0 tem duas razes reais distintas < . Como
C
A
e A e C so positivos, uma dessas razes ser positiva e a outra negativa; isto
< 0 < . At aqui usamos apenas que A e C so positivos e que B > 0.
Contudo, nem toda escolha de inteiros satisfazendo estas condies garante
que a forma F correspondente satisfaa (1). Isto porque (1) equivale a dizer que
> 1 e as hipteses que temos s garantem que > 0. Entretanto, a parbola
u = F(t, 1) tem concavidade para cima, pois A > 0. Logo, para que 1 esteja
entre as razes de F(t, 1) = 0 devemos ter que
=

F(1, 1) = A 2B C < 0.
Portanto, s hipteses A > 0, B > 0 e C > 0 devemos acrescentar que A2BC <
0 para que exista um inteiro q > 0 para o qual F(q, 1) < 0.
Passando, agora, a (2), sabemos que a escolha feita para q garante que
A = (Aq2 2Bq C) = F(q, 1) > 0,

4. ANLISE DO ALGORITMO DE BROUNCKER

41

ao passo que
C = A > 0,
consequncia direta das hipteses originais impostas a F. Resta-nos, apenas,
verificar se B = Aq B no negativo. Mas isto ocorre quando q B/A.
Contudo, escolhendo q 1 como o maior inteiro menor que a raiz positiva de
F(t, 1) = 0, teremos que
< q + 1 2q.
Por outro lado,

+=

2B
A

donde
+

B
=
< ,
A
2
2
pois < 0. Combinando esta ltima desigualdade com < 2q, obtemos
B

< q,
A
2
como queramos mostrar. Provamos, assim, que B > 0 sob as mesmas hipteses que garantem que A > 0 e C > 0, o que uma tima notcia.
Resta-nos, apenas, mostrar que estas condies so herdadas por Ft , permitindo que o procedimento seja iterado. Como j sabemos que, sob as novas
hipteses, A , B e C so positivos, basta verificar que elas tambm garantem
que Ft (1, 1) < 0. Mas
(28)

Ft (1, 1) = A 2B C = F(q 1, 1).

Como < q + 1 e a parbola y = F(x, 1) tem concavidade para cima, temos de


(28) que
Ft (1, 1) = F(q + 1, 1) < 0.
Portanto, se A > 0, B > 0, C > 0 e A C < 2B, ento estas mesmas propriedades
valem para os coeficientes da transformada Ft .
Antes de passar anlise global, precisamos investigar uma outra propriedade que pertence anlise local e que ser necessria mais adiante. Para
isso, dada F introduzimos sua simtrica SF como sendo a forma obtida trocandose o coeficiente de x2 com o de y2 ; isto
SF (x, y) = Cx2 2Bxy Ay2 .
Em particular, a simtrica de Ft
SFt = C x2 2B xy A y2 .

42

2. EQUAO DE PELL

Vejamos o que acontece se calcularmos a transformada de S = SFt . Em primeiro


lugar, para que isto seja possvel, preciso que S(1, 1) < 0; isto , que
C 2B A < 0.
Substituindo as frmulas para A , B e C de (27) e reagrupando os termos,
temos que
C 2B A = A(q 1)2 2B(q 1) C.
Mas q > 1 implica que 0 < q 1 < q, de modo que q 1 est entre as razes de
F(t, 1) = 0. Logo,
(29)

A(q 1)2 2B(q 1) C = F(q 1, 1) < 0.

Portanto, St satisfaz as condies requeridas para que o clculo da transformada possa ser efetuado. O prximo passo consiste em determinar o maior
inteiro m > 0 tal que
St (m, 1) = C m2 2B m A < 0.
Substituindo as frmulas de (27) e reagrupando os termos, como acima, obtemos
St (m, 1) = A(q m)2 2B(q m) C = F(q m, 1).
Desta ltima equao, segue-se que
(30)

St (q, 1) = C < 0,

pois C > 0 por hiptese. Por outro lado,


C (q + 1)2 2B (q + 1) A = A + 2B C.
Logo, se
A + 2B C > 0
ento m = q e os coeficientes da transformada de St sero
C q2 2B q A = A,

A q B = B

C = A.

Em outras palavras, adicionando A + 2B C > 0 s hipteses vigentes, teremos


que a transformada de SFt SF. Contudo, antes de acrescentar A + 2B C > 0
s demais condies, precisamos nos certificar de que herdada pela transformada, do contrrio no poderamos iterar o clculo das transformadas das
formas simtricas, requerido na anlise global. Entretanto,
A + 2B C = (A(q 1)2 2B(q 1) C) = F(q 1, 1),
que positivo por (29), de forma que tambm esta condio preservada pelo
processo de derivao de formas.
Para simplificar o enunciado final que resulta de nossa anlise da passagem
de uma forma sua transformada, diremos que uma forma F = Ax2 2BxyCy2
reduzida se A > 0, B > 0, C > 0 e |A C| < 2B e que seu discriminante

4. ANLISE DO ALGORITMO DE BROUNCKER

43

o nmero B2 + AC. Com isto, o que provamos acima pode ser resumido nas
seguintes concluses:
Concluso 1: a transformada de uma forma reduzida tambm reduzida;
Concluso 2: a transformada da simtrica de uma forma reduzida a
forma original;
Precisamos, tambm, do seguinte resultado, que pode ser obtido por um clculo
simples a partir das frmulas (27):
Concluso 3: uma forma e sua reduzida tm o mesmo discriminante.
Com isto estamos prontos para passar anlise global. Usando a notao
que introduzimos na seo anterior, escreveremos
Fi (x, y) = Ai x2 2Bi xy Ci
em que F0 a transformada de x2 dy2 e Fi = Fti1 , quando i 1. Como, pela
concluso 3, o discriminante de uma forma e de sua transformada coincidem,
temos que
B2i + Ai Ci = d,
pois o discriminante de x2 dy2 d. Contudo, a quantidade de inteiros no
negativos , e que satisfazem a relao
2 + = d
finita. Isto significa que, aps uma certa quantidade r de passos, teremos,
necessariamente, que
Fr (x, y) = Fq (x, y)
para algum inteiro q < r. Portanto, se Si for a forma simtrica de Fi ,
Sr (x, y) = Sq (x, y).
Calculando a q-sima transformada destas duas formas, obtemos
Srq (x, y) = S0(x, y);
que, pela concluso 2 equivale a
Frq (x, y) = F0 (x, y).
Como r > q, podemos concluir que, depois de executar uma quantidade k =
r q > 0 de passos, o algoritmo 3.1 retorna forma original F0 . Levando em
conta a alternncia dos sinais na passagem de um passo ao outro do algoritmo,
obtivemos, ao final de k etapas a equao diofantina
Fk = F0 = (1)k+1 .

44

2. EQUAO DE PELL

Mas, de (22),
F0 (x0 , y0 ) = (d q2 )x20 2qx0 y0 y20 .
em que q = [ d]. Portanto, o coeficiente de y2 em Fk = F0 igual a 1. Contudo,
pela definio da transformada, isto s pode acontecer se o coeficiente de x2k1
em Fk1 for igual a um. Isto implica que, se k for mpar, ento (1, 0) soluo
de
Fk1 (xk1 , yk1 ) = (1)k1 = 1,
fazendo com o que o algoritmo pare e retorne a soluo de F(x, y) = 1. Observe
que, apesar do coeficiente de x2k1 Fk1 ser igual a um, no verdade que Fk1 =
F. Isto ocorre, porque, como mostramos acima, o coeficiente de xi yi no nulo
em todas as formas Fi , ao passo que F(x, y) = x2 dy2 no contm o termo xy.

Caso k seja par, executamos o algoritmo por mais k passos, o que nos d
F2k = Fk = F0 = (1)k+1 = 1;
donde conclumos que
F2k1 (x2k1 , y2k1 ) = 1
tem (1, 0) como soluo. Portanto, o algoritmo funciona corretamente em qualquer dos dois casos, retornando a resposta desejada. A demonstrao de que
o algoritmo 3.1 funciona tambm explica porque os indianos, que foram os
primeiros a invent-lo, chamavam-no de mtodo cclico. medida que o valor
de i aumenta, a sequncia de transformadas percorre o ciclo
F0 , F1 , . . . , Fk = F0
se k for mpar, ou
F0 , F1 , . . . , F2k = F0
se k for par.
5. A soluo fundamental
Na pgina 35 justificamos a heurstica do mtodo cclico afirmando que seu
ponto crucial consistiria em produzir equaes cujas solues teriam entradas
cada vez menores cada vez que o algoritmo executa uma iterao. No entanto,
ao provar, na seo 4, que o mtodo cclico funciona corretamente, no dissemos
uma palavra sequer sobre a relao entre as entradas de uma forma e as de
sua transformada. Nesta seo vamos provar que a afirmao que fizemos na
pgina 35 est correta e us-la para mostrar que todas as solues da equao
de Pell cujas coordenadas so positivas podem ser obtidas atravs do mtodo
cclico.
Seja, pois
F(x, y) = Ax2 2Bxy Cy2 ,

5. A SOLUO FUNDAMENTAL

45

cujos coeficientes so inteiros e satisfazem as condies


A > 0,

B > 0,

C>0 e

F(1, 1) = A 2B C < 0.

De acordo com o que vimos na seo anterior, F(t, 1) = 0 tem uma raiz q > 1 e
Ft (x , y ) obtida fazendo a substituio
(31)

x = qx + y

y = x

em F(x, y). Portanto, quando (x, y) satisfaz F(x, y) = 1, temos Ft (x , y ) = 1.


A afirmao que desejamos provar pode ser enunciada da seguinte maneira: se
y > 1 ento
(32)

x < x e

0 < y < y.

Comeamos observando que, de y 6= 0, podemos deduzir


 
 2
1
F(x, y) 1
x
x
C 2 =
= 0.
2B
A
y
y
y
y2
Logo, a funo
1
y2
tem x/y como uma de suas razes. Contudo, vimos na seo anterior que as
razes de F(t, 1) pertencem aos intervalos (1, 0) e (q, q + 1). Portanto,
(t) = F(t, 1)

F(1, 1) > 0,

F(0, 1) < 0,

F(q, 1) < 0

F(q + 1, 1) > 0.

Como todos estes nmeros so inteiros, podemos concluir que se y > 1, ento
(1, 1) > 0,

(0, 1) < 0,

(q, 1) < 0 e

(q + 1, 1) > 0.

Logo, a raiz positiva de tem que estar entre q e q + 1; isto ,


x
q < < q + 1,
y
ou ainda
(33)

qy < x < (q + 1)y.

Combinando, (31) com (33) e levando em conta que q > 1, obtemos


x
x = y < < x.
q
De maneira semelhante,
y = x qx < (q + 1)y qy = y.
Finalmente,
 
x
= 0,
y = x qy > x q
q
o que completa a demonstrao de (32).

46

2. EQUAO DE PELL

Apelando para a notao introduzida na pgina 33 temos que se P = (x, y)


e P = (x , y ), ento a concluso da afirmao pode ser reescrita de maneira
compacta como P > P . Portanto, se F0 = Ft e P0 = (x0 , y0) for uma soluo de
F0 = 1, ento sequncia
F0 = 1,

F1 = 1, , Fk = (1)k

corresponde uma sequncia de pares

P0 > P1 > > Pk > 0,

enquanto a segunda entrada de cada par for maior que um. Como sequncias decrescentes de inteiros positivos so obrigatoriamente finitas, conclumos da afirmao que provamos acima que, para algum valor de k, teremos
Pk = (xk , yk ) com yk = 1. Mas isto implica que a primeira coordenada de Pk1
igual a um, o que s possvel se Pk1 = (1, 0) e o coeficiente Ak de x2 em Fk
igual a 1. Mas isto significa que provamos o seguinte resultado.
T EOREMA 5.1. Todas as solues de x2 dy2 = 1 cujas entradas so positivas
podem ser obtidas atravs mtodo cclico.
Voc deve estar se perguntando como isto possvel. Afinal o ponto de
parada do algoritmo 3.1 sempre o mesmo para um dado valor de d e corresponde primeira vez que o contador toma um valor par m para o qual o
coeficiente Am de Fm igual a 1. Contudo, nada nos impede de continuar a
computao at que isto acontea novamente, o que vai ocorrer quando o contador atingir 2m. Se, ento, substituirmos x2m po 1 e y2m por 0 em P2m , obteremos uma soluo de x2 dy2 = 1, diferente da que teramos determinado se
houvssemos parado quando o contador chegou a m.
Vejamos o que acontece se continuarmos a executar o mtodo cclico com
d = 13 para alm do dcimo passo, que at onde havamos levado os clculos
na seo 3. O passo-a-passo est resumido na tabela 2. Substituindo x19 por 1
e y19 por 0 em
(842401x19 + 510117y19 , 233640x19 + 141481y19 )
obtemos o ponto
(842401, 233640)
que tambm soluo de x 13y2 = 1.
2

Exerccios
1. Prove que se, para um dado d, a equao de Pell x2 dy2 = 1 tem uma
soluo no trivial, ento ela tambm admite uma soluo no trivial cujas
duas entradas so positivas.

EXERCCIOS

Passo q Fi (xi , yi )
10
11
12
13
14
15
16
17
18
19

6
1
1
1
1
6
1
1
1
1

[4, 3, 1]
[3, 1, 4]
[3, 2, 3]
[4, 1, 3]
[1, 3, 4]
[4, 3, 1]
[3, 1, 4]
[3, 2, 3]
[4, 1, 3]
[1, 3, 4]

47

P
(4287x10 + 649y10 , 1189x10 + 180y10 )
(4936x11 + 4287y11 , 1369x11 + 1189y11 )
(9223x12 + 4936y12 , 2558x12 + 1369y12 )
(14159x13 + 9223y13 , 3927x13 + 2558y13
(23382x14 + 14159y14, 6485x14 + 3927y14
(154451x15 + 23382y15 , 42837x15 + 6485y15 )
(177833x16 + 154451y16, 49322x16 + 42837y16)
(332284x17 + 177833y17, 92159x17 + 49322y17)
(510117x18 + 332284y18, 141481x18 + 92159y18)
(842401x19 + 510117y19, 233640x19 + 141481y19)

TABELA 2. Segundo ciclo do mtodo de Brouncker aplicado a x2


13y2 = 1
2. Determine, por tentativa, pelo menos uma soluo cujas entradas so positivas, para as seguintes equaes de Pell:
(a) x2 3y2 = 1;
(b) x2 6y2 = 1;
(c) x2 15y2 = 1.
3. O objetivo deste exerccio calcular todas as solues da equao de Pell
x2 ny2 = 1 quando n < 2:
(a) Mostre que se n < 2 ento x2 ny2 > 2 quaisquer que sejam os inteiros
x e y.
(b) Use (a) para mostrar que se x e y so solues da equao de Pell com
n < 2, ento y = 0.
(c) Use (b) para provar que, quando n < 2, as nicas solues da equao
de Pell so as triviais.
4. Resolva a equao de Pell x2 + y2 = 1 seguindo os seguintes passos:
(a) se x 1 e y 1 so inteiros ento x2 + y2 > 1;
(b) conclua de (a) que se x2 + y2 = 1 ento x = 0 ou y = 0;
(c) use (b) para achar todas as Solues de x2 + y2 = 1.
5. Resolva a equao de Pell x2 dy2 = 1 quando d = r2 para algum nmero
inteiro no positivo r. Siga os seguintes passos:
(a) fatore x2 dy2 = x2 r2 y2 ;

48

2. EQUAO DE PELL

(b) lembrando que x e y so inteiros, e comparando a fatorao obtida em


(a) com o lado direito da equao, determine os possveis valores destes
fatores;
(c) considerando todos os possveis valores dos fatores, voc obter dois
sistemas lineares, cujas solues inteiras lhe daro todas as solues
desta equao de Pell.
6. Seja (x0 , y0) uma soluo da equao de Pell x2 dy2 = 1. Calcule
(x0 , y0 ) (1, 0).
7. Seja 0 = (1, 0) soluo de x2 ny2 = 1. Determine k0 para cada inteiro
k > 0.
8. Ache uma soluo da equao de Pell x2 5y2 = 1 e calcule seu quadrado e
seu cubo.
9. Seja 0 = (8, 3) soluo de x2 7y2 = 1. Determine 20 , 30 e 40 .
10. Seja P = (x0 , y0) uma soluo de x2 2y2 = 1. Mostre como obter uma
soluo de x2 8y2 = 1 a partir de P2 .
11. Calcule P P(7) tal que (2024, 765) P = (514088, 194307).
12. Sejam 0 e 1 duas solues da equao de Pell x2 dy2 = 1 cujas entradas
so todas positivas. Prove que:
(a) todas as entradas de 0 1 so positivas;
(b) a primeira entrada de 0 1 maior que o mximo das primeiras
entradas de 0 e 1 .
(c) Use (b) para provar que 0 1 no pode ser igual a 0 nem a 1 .
13. Use o exerccio 12 para provar que se a equao x2 dy2 = 1 tem alguma
soluo no trivial, ento ela tem infinitas solues.
14. Neste exerccio apresentamos um roteiro para a demonstrao de que inclinao da reta tangente hiprbole x2 dy2 = 1 no ponto P = (x0 , y0 ) igual
a x0 /dy0 . Usaremos a mesma definio de tangente adotada no estudo da
circunferncia nos cursos elementares de geometria. Isto , diremos que
uma reta tangente hiprbole se ela toca a curva em um nico ponto.
(a) Determine a equao quadrtica em x que as abscissas dos pontos de
interseo da reta de equao y = m(x x0 ) + y0 com a hiprbole satisfazem.
(b) Mostre que o discriminante da equao quadrtica obtida em (a) igual
a (mdy0 x0 )2 .
(c) Use (b) para chegar concluso desejada.

EXERCCIOS

49

D ICAS : para (a) substitua a equao da reta na equao da hiprbole; para


(b) use que x20 dy20 = 1.
15. Este exerccio tem como objetivo provar que a subtrao de inteiros no
associativa, nem comutativa, nem admite elemento neutro. Sejam a, b e c
nmeros inteiros:
(a) Para quais valores de c vale a igualdade a (b c) = (a b) c?
(b) Que relao a e b devem satisfazer para que a b = b a?
(c) Mostre que no pode existir um inteiro z de modo que a z = z a = a,
qualquer que seja o inteiro a.
16. Seja P o conjunto cujos elementos so os subconjuntos de {1, 2, . . . , n}. Para
quais das operaes abaixo este conjunto constitui um grupo?
(a) unio;
(b) complementar;
(c) diferena simtrica.
Para caso de voc no lembrar, a diferena simtrica entre dois conjuntos
A e B definida por (A \ B) (B \ A).
17. Dados dois nmeros reais u e v, definimos
u+v
uv=
.
1 + uv
c2
Determine se o intervalo (c, c) com a operao ou no um grupo. Esta
operao corresponde soma de velocidades na teoria da relatividade restrita, em que c a velocidade da luz.
18. Seja (G, ) um grupo e a um elemento de G. Usando as frmulas
a0 = e

ak+ = ak a ,

para inteiros no negativos k e , determine como deveramos definir potncias negativas de a em G.


19. Seja (G, ) um grupo.
(a) Mostre que um grupo no pode ter mais de um elemento neutro.
(b) Mostre que cada elemento de um grupo s pode um inverso.
20. Seja (G, ) um grupo. Um subconjunto S de G fechado relativamente
operao se para quaisquer elementos a, b S temos sempre que ab S.
Quais dos seguintes subconjuntos so fechados relativamente operao de
adio de inteiros:
(a) os nmeros pares;
(b) os nmeros mpares;
(c) os mltiplos de 3;

50

2. EQUAO DE PELL

(d) os nmeros positivos.


21. Todo grupo tem, pelo menos dois subconjuntos distintos que so fechados
relativamente sua operao: quais so estes subconjuntos?
22. Seja (G, ) um grupo e a um elemento de G. Defina hai como sendo o conjunto das potncias de a com expoentes no negativos; isto
hai = {ak | k 0

inteiro }.

Mostre que hai um conjunto fechado relativamente operao .


23. Mostre que se a equao de Pell x2 dy2 = 1 tem soluo diferente de (1, 0),
ento o grupo P(d) infinito.
24. Seja d > 0 um nmero inteiro. Qual a maior quantidade de inteiros no
negativos , e que satisfazem 2 + = d?
25. Use o algoritmo de Brouncker para achar solues para as seguintes equaes
de Pell
(a) x2 10y2 = 1;
(b) x2 12y2 = 1;
(c) x2 20y2 = 1.
26. Suponha que x0 e y0 so dois inteiros tais que x20 ny20 = 2.
(a) Obtenha solues para a equao x2 ny2 = 4 em termos de x0 e y0 .
(b) Usando ny20 = x20 2 e (a) obtenha u, v Z tais que (2u)2 n(2v)2 = 4.
(c) Usando (b) ache solues da equao de Pell x2 ny2 = 1 em termos de
x0 e y0 .
(d) Usando (c) obtenha uma soluo da equao de Pell x2 7y2 = 1 a partir
da soluo (3, 1) de x2 7y2 = 2.

CAPTULO 3

Grupos finitos
Neste captulo introduziremos vrias noes importantes da teoria de grupos, como subgrupos e grupos cclicos, e provaremos o teorema de Lagrange.
Como os grupos mais importantes no estudo da teoria de nmeros e da criptografia tm uma quantidade finita de elementos, vamos nos concentrar em
estudar este caso.
1. Inversveis mdulo n
Comeamos relembrando que um grupo um conjunto no vazio, no qual
est definida uma operao que fechada, associativa, comutativa, tem elemento neutro e relativamente ao qual todo elemento do conjunto admite um
inverso. Quando a operao de um grupo a soma, diremos que se trata de um
grupo aditivo; quando for a multiplicao, temos um grupo multiplicativo. Assim, Z e Zn so grupos aditivos, ao passo que Q \ {0} um grupo multiplicativo.
Como j foi dito, ao longo de todo o captulo nos concentramos em estudar
os grupos finitos; isto , aqueles cujo conjunto subjacente tem uma quantidade
finita de elementos. O nmero de elementos de um grupo, conhecido como a
ordem do grupo, desempenha um papel muito importante no estudo dos grupos
finitos. Por isso, precisaremos sempre determinar as ordens dos grupos que
estudarmos daqui em diante.
O conjunto das classes inversveis mdulo um inteiro positivo n ser denotado por U(n). O teorema da inverso nos permite escrever este conjunto na
forma,
U(n) = {a Zn | mdc(a, n) = 1}.
A operao que torna este conjunto um grupo a multiplicao usual de classes
em Zn . Como vimos no captulo anterior, esta operao associativa, comutativa e tem como elemento neutro a classe de 1; que todo elemento de U(n) tem
inverso em U(n) mera consequncia da definio de U(n). Contudo, ainda no
sabemos se a multiplicao fechada em U(n). O que sabemos com certeza
que o produto de duas classes mdulo n uma classe mdulo n; mas ser que,
do produto de duas classes que so inversveis em Zn , resulta uma classe que
51

52

3. GRUPOS FINITOS

tambm inversvel? Para provar isto, considere a e b duas classes inversveis


em Zn e digamos que seus inversos so, respectivamente, a e b . Ento, da
associatividade e da comutatividade da multiplicao de classes, temos que
(a b) (a b ) = (a a ) (b b )

que claramente igual a 1. Isto significa que o inverso de a b a classe a b .


Em particular, o produto de duas classes inversveis uma classe inversvel,
confirmando que a multiplicao usual de classes fechada em U(n).
fcil determinar todos os elementos do grupo dos inversveis mdulo n
quando n primo, porque neste caso todas as classes no nulas so inversveis.
De fato, se n for primo, ento mdc(a, n) = 1 para todo inteiro 1 a n 1.
Outro caso em que os elementos de U(n) so fceis de enumerar ocorre quando
n potncia de 2. Isto porque
mdc(a, 2m ) = 1

se, e somente se,

mdc(a, 2) = 1,

qualquer que seja o inteiro positivo m. Logo, as classes em U(2m ) correspondem


aos inteiros mpares entre 1 e 2m . Em geral, achar os elementos de U(n) quando
n um nmero composto um problema bem mais delicado. Por exemplo,
U(12) = {1, 5, 7, 11};
ao passo que
U(15) = {1, 2, 4, 7, 8, 11, 13, 14}.
Encerraremos a seo considerando como calcular a ordem de U(n). Vimos
acima que
U(p) = Zp \ {0},
quando p > 1 um nmero primo, de modo que
#U(p) = p 1.
Outro caso fcil de analisar aquele em que o mdulo uma potncia de primo.
Como no caso das potncias de 2, a descrio dos elementos do conjunto U(pk )
bastante simples. O ponto chave que, se a for um inteiro no nulo, ento
mdc(a, pk) s pode ser diferente de 1 quando p dividir a. Isto nos permite
escrever
U(pk ) = {a Zpk | p no divide a}.
Portanto, a ordem de U(pk ) igual quantidade de inteiros a, no intervalo
0 a < pk , que no so divisveis por p. Na prtica mais fcil contar os
inteiros entre 0 e pk que so divisveis por p e subtrair isto de pk , que o total
de inteiros maiores ou iguais a 0 e menores que pk . Portanto, os inteiros que
desejamos contar satisfazem
0 a < pk

a = p,

2. PELL MODULAR E SUAS GENERALIZAES

53

em que o cofator de p em a. Substituindo a = p na desigualdade, obtemos


0 p < pk ;

que, divindo por p, nos d

0 < pk1 .

Assim, a cada inteiro neste intervalo, corresponde p, mas este um mltiplo


de p que satisfaz a desigualdade desejada. Logo, existem pk1 mltiplos de p
entre 0 e pk , donde
(34)

#U(pk ) = pk pk1 = pk1 (p 1).

Em geral, o clculo da ordem de U(n) requer que saibamos fatorar completamente o mdulo n. Contudo, como a anlise do caso geral requer a noo de
isomorfismo de grupos, que ser introduzida na seo 1 do captulo 4, s estaremos em condio de faz-la na seo 5 daquele captulo. Apesar disso, vale a
pena notar desde j que, como veremos no captulo ???, o fato do clculo da
ordem de U(n) depender da fatorao de n que torna o RSA seguro.
2. Pell modular e suas generalizaes
Dados dois inteiros n e d maiores que um, definimos a equao de Pell modular por
(35)

x2 dy2 = 1

cujos coeficientes so classes em Zn . Uma soluo de (35) consiste de um par


[x0 , y0 ] Zn Zn , de classes de inteiros mdulo n, que satisfaz
x0 2 dy0 2 = 1.

Como no caso da equao de Pell usual,


[1, 0]

[1, 0] = [n 1, 0]

so solues, que continuaremos a chamar de triviais, da equao de Pell modular, quaisquer que sejam os inteiros d > 1 e n > 1. Portanto, o conjunto P(d, n)
das solues da equao de Pell modular (35) nunca vazio.
Assim como no caso da equao de Pell usual, o conjunto soluo da equao
de Pell modular um grupo relativamente operao que associa aos elementos
P1 = (a1 , b1) e P2 = (a2 , b2)
de P(d, n) o par
(36)

P1 P2 = (a1a2 + db1 b2 , a1b2 + b1 a2 ).

54

3. GRUPOS FINITOS

Para mostrar que esta operao fechada em P(d, n), basta reduzir mdulo
p a igualdade (13) da pgina 24. A verificao da associatividade e da comutatividade igualmente simples. Alm disso, (1, 0) funciona como elemento
neutro e o inverso de (x0 , y0) P(d, n) o par (x0 , y0 ) P(d, n), exatamente
como no caso da equao de Pell usual. Portanto, P(d, n) , de fato, um grupo
relativamente operao .
Vejamos alguns exemplos. Para comear, se (x0 , y0 ) soluo da equao de
Pell usual
x2 dy2 = 1
ento o par
[x0 , y0 ] Zn Zn ,

obtido tomando-se as classes correspondentes mdulo n soluo de


x0 2 dy0 2 = 1.
Por exemplo, como (3, 2) soluo de x2 2y2 = 1, ento
(3, 2) Zp Zp

soluo no trivial de x2 2y2 = 1, qualquer que seja o primo p > 2. Note que
a restrio p > 2 necessria, porque quando p = 2 a soluo (3, 2) se reduz a
(1, 0). Entretanto, mesmo neste caso, a equao x2 2y2 = 1 tem solues no
triviais. Isto se d porque,
x2 2y2 = x2
quando os coeficientes esto em Z2 , de modo que
P(2, 2) = {(1, 0), (1, 1)}.
De agora em diante, vamos supor, quase sempre, que o mdulo p > 2
primo pois, como veremos na seo 2 do captulo 4, a equao x2 dy2 = 1
sempre tem solues no triviais quando o mdulo um primo mpar. Como
no caso da equao de Pell usual, h dois casos a considerar, dependendo se
d ou no um quadrado mdulo p. Vejamos alguns exemplos. Para comear,
considere a equao
(37)

x2 2y2 = 1 em Z3 .

Alm de [1, 0], a equao de Pell usual x2 2y2 = 1 tem como soluo [3, 2].
Portanto,
[3, 2] = [0, 2]
tambm soluo de (37). Contudo, os trs pares
[1, 0], [n 1, 0] e

[0, 2]

2. PELL MODULAR E SUAS GENERALIZAES

55

no esgotam todas as solues de (37). Por exemplo, tomando x = 0, a equao


se torna
2y2 = 1
Como 2 = 1, esta ltima igualdade equivale a
y2 = 1;
que satisfeita por y = 1 e por y = 2 em Z3 ; de modo que obtivemos duas novas
solues. Alm disso, no pode haver novas solues, porque j havamos obtido
as solues possveis com x 6= 0. Portanto,
P(2, 3) = {[1, 0], [2, 0], [0, 1], [0, 2]}.

Outro exemplo interessante a equao x2 3y2 = 1 em Z7 . Como, 3


4 22 (mod 7), podemos reescrever a equao dada na forma

(38)

x2 + (2y)2 = 1.

Quando x = 0, obtemos
(2y)2 = 1.
Como 7 primo, as nicas solues da congruncia z2 = 1 em Z7 so 1 e 6, de
modo que
2y = 1 ou 2y = 6.
Resolvendo estas equaes lineares conclumos que y = 4 e y = 3, respectivamente. Portanto, [0, 4] e [0, 3] so as solues de (38) quando x = 0. Passando,
agora ao caso em que x = 1, obtemos
1 + (2y)2 = 1 donde (2y)2 = 0.

Como 7 primo isto s possvel se y = 0. Portanto, neste caso, as solues so


[1, 0] e [6, 0]. Por outro lado, quando x = 2, temos
4 + (2y)2 = 1 donde (2y)2 = 3 = 4;

de modo que 2y = 2; isto , y = 1. Com isto, obtemos as solues [2, 1];


isto , [2, 1], [2, 6], [5, 1] e [5, 6]. Finalmente, se x = 3, ento
2 + (2y)2 = 1, que equivale a (2y)2 = 6.

Mas esta ltima equao no tem soluo porque 6 no o quadrado de nenhuma classe de inteiro mdulo 7. Portanto, conclumos que
P(2, 7) = {[1, 0], [6, 0], [0, 4], [0, 3], [2, 1], [2, 6], [5, 1], [5, 6]}.
H um outro grupo finito, definido de maneira semelhante a P(d, n), e que
desempenhar um papel importante no clculo da ordem deste ltimo grupo.
Como no caso da equao de Pell modular, sejam d > 2 um inteiro e p 2
um nmero primo. Dados dois elementos P1 e P2 no conjunto Z2p = Zp Zp ,

56

3. GRUPOS FINITOS

definimos seu produto P1 P2 usando a frmula (36). Como esta a mesma


regra que define a multiplicao em P(d, n), podemos usar o mesmo smbolo
para denotar a operao nestes dois conjuntos sem haver risco de confuso.
claro que fechada em Z2p . Alm disso, fcil verificar que esta operao
associativa, comutativa e tem (1, 0) como elemento neutro. Portanto, para
que Z2p seja um grupo com a operao basta que cada um de seus elementos
tenha inverso. Para determinar isto, digamos que, sendo
P1 = (a1 , b1) e

P2 = (a2 , b2),

temos
P1 P2 = (1, 0).

Usando (36) e comparando as coordenadas dos pontos dos dois lados da igualdade, verificamos que
(39)

a1 a2 + d b1 b2 = 1 e

a1 b2 + b1 a2 = 0.

Como a primeira destas equao no satisfeita quando P1 = (0, 0), podemos


afirmar que (0, 0) no tem inverso em Z2p . Isto significa que Z2p no um grupo,
mas no encerra nossa anlise, porque a pergunta seguinte, naturalmente, :
quais so os elementos de Z2p que tm inverso? Que h elementos com inverso
neste conjunto claro; os exemplos mais bvios so (1, 0). Mas ser que h
algum outro, alm destes? Para isto voltamos s equaes (39). Suponhamos,
por exemplo, que a primeira coordenada de P1 no se anula em Zp ; isto , que
a1 6= 0. Multiplicando a primeira equao em (39) por a1 e usando que, da
segunda equao,
(40)
obtemos
(41)

a1 b2 = b1 a2 ,
2

a2 (a1 2 d b1 ) = a1 .

Portanto, esta equao s satisfeita por um par P2 = (a2 , b2) se


(42)
(43)

a2 6= 0 e
2

a1 2 d b1 6= 0.

Note que h uma enorme diferena entre estas duas desigualdades. Enquanto
(42) impe uma restrio sobre P2 , que o ponto que queremos determinar,
(43) restringe o par que queremos inverter. Isto , pares que no satisfazem
(43) no so inversveis. Nossa anlise se torna mais clara se introduzirmos a
seguinte terminologia. A norma de um par Q = (a, b) Z2p a classe
2

(Q) = a2 d b Zp .

2. PELL MODULAR E SUAS GENERALIZAES

57

Note que a norma depende da escolha de p e d. Com esta notao, (43) nos
diz que qualquer par cuja norma 0 no ter inverso em Z2p . Para caracterizar completamente os elementos inversveis de Z2p s nos falta mostrar que se
(P1 ) 6= 0, ento P1 inversvel. Mas, de um clculo direto, usando a definio
de , obtemos
(44)

(a1 , b1) (a1 , b1 ) = ((P1 ), 0).

Como o mdulo p primo, ento (P1 ) 6= 0 tem inverso (P1 ) em Zp , e podemos


deduzir de (44) que
(a1 , b1) (a1 (P1 ) , b1 (P1 ) ) = (1, 0).

Mostramos, assim, que P = (a, b) tem inverso em Z2p se, e somente se, =
(P) 6= 0. Alm disso, se o inverso de P existe, ento igual a (a , b ).
Por exemplo, escolhendo d = 5, podemos facilmente determinar que o inverso
de P = (2, 7) em Z213 igual a
(112, 117) = (9, 1).
pois
2

(P) = 2 57 = 7 = 6;
tem como inverso 11 em Z13 .
hora de parar e considerar exatamente o que descobrimos at aqui. Para
comear, vimos que, uma vez fixado o valor de d, a operao em Z2p fechada,
associativa, comutativa e tem (1, 0) como elemento neutro. Por outro lado,
somente os pares cuja norma no a classe nula tm inverso em Z2p . Como a
norma do par (0, 0) nula no importa quais sejam os valores de d e p, temos
que Z2p no um grupo para todo d e p. Entretanto, copiando o que fizemos no
caso de Zp , podemos considerar o conjunto
U(d, p) = {P Zp Zp | (P) 6= 0},

formado apenas pelos elementos de Z2p que so inversveis. Como a operao


associativa e comutativa em Z2p , continuar satisfazendo estas propriedades
quando restrita aos elementos de U(d, p). Por outro lado, (1, 0) tem norma 1,
portanto pertence a U(d, p), que foi definido como o subconjunto dos elementos
inversveis de Z2p . Portanto, precisamos apenas mostrar que fechada em
U(d, p), para garantir que este conjunto um grupo. H duas maneiras fceis
de fazer isto. A primeira copiar, com as devidas modificaes, a prova de que
a multiplicao em U(p) fechada; ver pgina 52. A outra consiste em usar a
igualdade
(45)

(P1 P2 ) = (P1 ) (P2 ),

58

3. GRUPOS FINITOS

para todo P1 , P2 Z2p ; que apenas a identidade (13) escrita em uma notao
diferente. Se P1 , P2 U(d, p), ento suas normas no podem ser nulas. Como p
primo isto significa que (P1 ) (P2 ) 6= 0. Logo, (P1 P2 ) 6= 0 por (45), o que
prova que P1 P2 U(d, p).
No caso em que p um nmero primo, sabemos que U(p) consiste de todas
as classes no nulas de Zp . Diante do fato de que U(d, p) est para Z2p assim
como U(p) est para Zp , razovel perguntarmos quando U(d, p) coincide com
o subconjunto formado pelos pares de Z2p que tm pelo menos uma coordenada
no nula. Como os pares de U(d, p) so aqueles cuja norma no nula, a
pergunta acima pode ser reformulada na forma: para quais valores de d e p o
nico par em Z2p cuja norma zero (0, 0)?

Para responder a esta pergunta, tomaremos um par P = (a, b) e suporemos


que sua norma nula; isto , que
(46)

(P) = a2 db = 0.

Como b = 0 implica que a = 0, podemos supor que b 6= 0. Mas p primo, de


modo que todo elemento no nulo de Zp tem inverso. Seja b o inverso de b em
2
Zp . Multiplicando ambos os membros de (46) por b e rearrumando a equao,
obtemos
2
d = a2 b = (a b )2 .
Logo, um par diferente de (0, 0) em Z2p s pode no ter inverso relativamente
operao se d puder ser escrito como o quadrado de uma classe em Zp .

Seguindo a terminologia proposta por Gauss no artigo 95, da seo 4, de


suas Disquisitiones arithmeticae, diremos que um inteiro d um resduo quadrtico
mdulo p se d 6 0 (mod p) e existe um inteiro a tal que d a2 (mod p). Naturalmente isto equivale a dizer que d = a2 em Zp . Com isto, podemos formular
o enunciado do final do pargrafo anterior da seguinte forma.

Proposio. Sejam d > 1 e p > 2 nmeros inteiros e suponhamos que p


primo. Ento,
U(d, p) = Z2p \ {(0, 0)}
se, e somente se, d no resduo quadrtico mdulo p.
Portanto, para responder pergunta feita acima de maneira completa restanos apenas determinar quais so os inteiros que so resduos quadrados mdulo p. Para simplificar a terminologia diremos que uma classe em Zp um

2. PELL MODULAR E SUAS GENERALIZAES

59

resduo quadrtico quando ela tiver um representante que um resduo quadrtico


mdulo p. Por exemplo, como os quadrados dos elementos no nulos de Z5 so
2

1 = 1,

2 = 4,

3 = 4,

4 = 1,

ento 4 e 1 so os nicos resduos quadrticos mdulo 5. J mdulo 13 a situao bastante diferente. Como mostra a tabela 1, os resduos quadrticos
mdulo 13 so 1, 3, 4, 9, 10 e 12.
Classes
1 2 3 4 5 6 7 8 9 10 11 12
Quadrados 1 4 9 3 12 10 10 12 3 9 4 1
TABELA 1. Quadrados mdulo 13

De uma inspeco, mesmo que superficial, da tabela 1, salta aos olhos que
os quadrados mdulo 7 so simtricos em relao metade da tabela. Isto no
ocorre apenas no caso em que o mdulo 7, mas sempre que o mdulo for mpar.
Isto se d porque, quando n mpar, podemos associar classe representada
por um inteiro a entre 1 e (n 1)/2 a classe n a, no intervalo que vai de
(n + 1)/2 a n 1, e estas classes satisfazem a2 (n a)2 (mod n). Aplicando
isto ao caso em que p > 0 um primo mpar, verificamos que a quantidade
de inteiros entre 1 e p 1 que so resduos quadrticos mdulo p no pode ser
maior do que (p 1)/2. Por outro lado, se x e y so inteiros tais que x2 y2
(mod p), ento, como p primo, temos que
xy

(mod p) ou

x y

(mod p).

Supondo que 1 x y p 1, esta congruncia nos permite concluir que


y = x ou

y = p x.

Portanto, se p primo, ento metade dos inteiros entre 1 e p 1 formada por


resduos quadrticos e a outra metade por no resduos. Em particular, no
faltam no resduos para usar na construo de U(d, p), qualquer que seja p >
2. Por exemplo, consultando a tabela 1, vemos que 5 no resduo quadrtico
mdulo 13, de modo que o grupo U(5, 13) contm todos os pares no nulos de
Z2p .
Encerraremos esta seo com a caracterizao dos elementos de P(d, p) que
tm ordem 2. J sabemos que h pelo menos um tal elemento, porque
(1, 0)2 = (1, 0)

60

3. GRUPOS FINITOS

em P(d, p), sejam quais forem o inteiro d e o primo p. Suponhamos que p > 0
seja um primo mpar e seja P = (a, b) um outro elemento de ordem dois no
mesmo grupo. Neste caso,
2

P2 = (a2 + db , 2 a b)

tem que ser igual ao elemento neutro (1, 0). Pela propriedade fundamental dos
primos, isto s pode ocorrer se p divide a ou b. Mas se p divide b, ento segue
de
2
a2 + db = 1
que a = 1, e P seria o ponto (1, 0), contradizendo nossa hiptese. Resta,
apenas, considerar o que acontece quando p divide a. Mas isto nos d que
2

db = 1.
Entretanto, como b2 e 1 so resduos quadrticos mdulo p, esta equao s
pode ser satisfeita se d for resduo quadrtico mdulo p; veja o exerccio 3. Em
particular, P(d, p) contm apenas um elemento de ordem dois quando d no for
resduo quadrtico mdulo p. Suponhamos, ento, que d > 1 seja um resduo
quadrtico mdulo p. Neste caso, existe um inteiro positivo tal que d 2
(mod p). Denotando por o inverso de em U(p) temos que
2

(0, )2 = (d , 0) = ( , 0)

o elemento neutro de P(d, p). Resumindo o que aprendemos, temos o seguinte


resultado.
Proposio. Seja p > 2 um primo e d > 1 um nmero inteiro. O grupo P(d, p)
tem trs elementos de ordem dois quando d um resduo quadrtico mdulo p;
caso contrrio, P(d, p) tem apenas um elemento de ordem dois.
Como no caso dos inversveis mdulo n, encerraremos a seo considerando
como proceder para calcular a ordem dos grupos #P(d, p) e #U(d, p). Se p
primo e d no um resduo quadrtico mdulo p, ento sabemos que #U(d, p)
contm todos os pares de Z2p que no tm ambas as coordenadas nulas. Como
h p2 elementos em Z2p , temos que
#U(d, p) = p2 1.
J o clculo da ordem do conjunto soluo da equao de Pell x2 dy2 = 1
bem mais difcil, mesmo quando d no um resduo quadrtico mdulo p. Na
verdade, este clculo depende da noo de isomorfismo de grupos, que tambm
usaremos para determinar a ordem de U(n) quando n composto; por isso
vamos adiar os detalhes at a seo 2 do captulo 4.

3. SUBGRUPOS

61

3. Subgrupos
Na seo anterior vimos que, se p > 2 um primo e d no resduo
quadrtico mdulo p, ento P(d, p) U(d, p) so ambos grupos relativamente
mesma operao . Situaes como essa so bastante comuns, por exemplo
ZQRC

so todos grupos relativamente soma e

Q \ {0} R \ {0} C \ {0}

so todos eles grupos relativamente multiplicao. Quando temos um grupo


contido em outro e ambos partilham a mesma operao, diremos que o grupo
menor subgrupo do maior. Note que estamos deliberadamente excluindo exemplos como Q \ {0}, com a operao de multiplicao, e Q, com a operao
de soma, em que Q \ {0} subconjunto de Q, mas as operaes so distintas. A razo pela qual casos como este so excludos puramente pragmtica.
Quando os conjuntos no partilham a mesma operao suas propriedades como
grupos podem ser inteiramente diferentes. J quando partilham a operao, as
propriedades de um dos grupos influencia fortemente as propriedades do outro
grupo, como veremos ao longo desta seo e da seguinte.
A definio oficial a seguinte. Sejam G um grupo com a operao e S
um subconjunto de G. Diremos que S um subgrupo de G se S ele prprio
um grupo relativamente mesma operao de G. Esta definio muito
boa, porque compacta e bastante aceitvel do ponto de vista intuitivo; mas
ruim quando se trata de determinar se um dado subconjunto de um grupo
realmente um subgrupo, porque nos leva a testar muitas propriedades que so
automaticamente satisfeitas por todo subconjunto de um grupo.
Para entender melhor o que est em jogo, voltemos situao em que S G
e G um grupo. Das cinco propriedades de grupo, a associatividade e comutatividade correspondem a identidades que tm que ser satisfeitas, quaisquer
que sejam os elementos escolhidos em G. Como S G, estas identidades tero
que ser verdadeiras quando escolhemos estes elementos em S. Portanto, para
determinar se um subconjunto S de um grupo G ou no um subgrupo basta
testarmos as outras trs propriedades que definem um grupo. Temos, assim, o
seguinte critrio.
Critrio. Um subconjunto S de um grupo G um subgrupo se:
a operao de G fechada em S;

o elemento neutro de G pertence a S;

62

3. GRUPOS FINITOS

o inverso de cada elemento de S tambm est em S.


Usando o critrio acima fcil verificar que o conjunto dos nmeros pares
um subgrupo aditivo do conjunto de todos os nmeros inteiros, mas o mesmo
no vale para o conjunto dos mpares, j que nem fechado para a soma, nem
contm o elemento neutro 0. Um argumento semelhante mostra que qualquer
que seja o inteiro n, o conjunto dos mltiplos de n um subgrupo do grupo
aditivo de todos os nmeros inteiros.
igualmente fcil construir subgrupos em grupos mais gerais. Para comear,
todo grupo contm pelo menos dois subgrupos distintos, aquele que contm
apenas o elemento neutro do grupo e o que corresponde ao grupo inteiro. Um
exemplo mais interessante o seguinte. Seja G um grupo dotado de uma operao . O conjunto
Q(G) = {g2 | g G},
dos elementos que so quadrados em G, um subgrupo de G. Para provar isto
usaremos o critrio acima. Em primeiro, dados dois elementos g2 e h2 em Q,
seu produto
g2 h2 = (g h)2
tambm um quadrado e, portanto, pertence a Q(G). Por outro lado, se e
o elemento neutro de G, ento e2 = e, de modo que e Q. Finalmente, se o
inverso de g for g , ento o inverso de g2 ser (g )2 , pois
g2 (g )2 = (g g )2 = e2 = e.
Logo, pelo critrio, Q(G) um subgrupo de G. Em particular, o conjunto das
classes de Zp cujos representantes so resduos quadrticos mdulo um primo
p um subgrupo do grupo multiplicativo U(p).
Um outro exemplo, muito importante em criptografia, o seguinte. Digamos, como acima, que G um grupo finito com operao e elemento neutro
e. Se g G, ento considere o conjunto
hgi = {gk | k 0}

formado pelas potncias de expoente no negativo de g. Como


gk g = gk+ ,
o conjunto hgi fechado relativamente operao . O elemento neutro corresponde a g0 , logo pertence a hgi. At aqui no utilizamos a hiptese de que G
finito, mas ela necessria para mostrarmos que os inversos dos elementos
de hgi tambm pertencem a hgi. A primeira coisa a notar que a sequncia
de expoentes infinita, j que h um expoente para cada inteiro no negativo.
Contudo, como G finito e hgi G, ento hgi tambm um conjunto finito. Isto

3. SUBGRUPOS

63

s possvel se houver expoentes distintos que correspondem a uma mesma


potncia; isto , se
gi = gj

para dois inteiros

0 i < j.

Mas, multiplicando ambos os lados desta equao por (g )i , obtemos


(g )i gi = (g )i gj ,
que podemos reescrever na forma
(g g)i = (g g)i gji .
Como g g = e, obtemos

gji = e.
Como j i > 0, podemos concluir que existem potncias de g, com expoente
positivo, que so iguais ao elemento neutro. Se k > 0 for o menor expoente com
esta propriedade, teremos que
hgi = {e, g, . . . , gk1}.

Alm disso, duas potncias de g com expoentes menores que k no podem coincidir, porque supondo que 0 < i < j < k no argumento acima, concluiramos que
gji = e, o que no possvel pela escolha de k porque 0 < j i < k. Finalmente,
como gk = e, temos que se 0 i < k, ento
gi gki = gk = e.

Porm, k i > 0, de modo que gki hgi. Logo, hgi um subgrupo de G.

Como os elementos de hgi correspondem a potncias que se repetem em um


ciclo com k elementos, os subgrupos construdos desta maneira so chamados
de cclicos. O elemento g um gerador de hgi. Como um grupo sempre subgrupo de si prprio, os termos cclico e gerador podem ser aplicados a qualquer
grupo. Os subgrupos cclicos so os mais fceis de construir, mas nem todo
subgrupo cclico. Por exemplo, o grupo
U(8) = {1, 3, 5, 7}
no cclico porque
2

3 = 5 = 7 = 1,
de modo que nenhum de seus elementos gerador, j que nenhum deles tem
mais de duas potncias distintas.
Se g um elemento de um grupo G, ento o menor expoente k para o qual gk
o elemento neutro de G igual quantidade de elementos, isto , ordem, do
subgrupo hgi. Para simplificar a terminologia, diremos ordem do elemento g,
em vez de usar a expresso mais precisa, mas muito mais complicada, ordem
do subgrupo cclico gerado pelo elemento g. Note que a ordem de uma classe

64

3. GRUPOS FINITOS

em Zn , definida no captulo ???, coincide com a ordem daquela classe em U(n),


no sentido acima.
4. O teorema de Lagrange
difcil exagerar a importncia do conceito de ordem na teoria de grupos
finitos. Como veremos neste captulo, o conhecimento da ordem de um grupo
pode ser suficiente para descrever completamente a estrutura deste grupo.
Este o caso, por exemplo, dos grupos cuja ordem um nmero primo. O
primeiro resultado no caminho para justificar estas afirmaes o seguinte
teorema, provado por J.-L. Lagrange em ????.
T EOREMA DE L AGRANGE . Se G um grupo finito e S um subgrupo de G,
ento a ordem de S divide a ordem de G.
Para provar o teorema, precisamos contar a quantidade de elementos que
G tem, relacionando-a quantidade de elementos de S. Como sempre, denotaremos por a operao em G e por e seu elemento neutro. Digamos, tambm,
que
S = {h1 , . . . , hk },
em que h1 = e; naturalmente estamos supondo que os hs so todos distintos.
Vamos enumerar os elementos de G da seguinte maneira. Comeando com e,
listamos
h1 , h2 , . . . , hk
que so os elementos de G obtidos multiplicando-se e pelos vrios elementos de
S. Se G = S, no h mais nada a fazer e o resultado desejado bvio. Se S ( G,
escolhemos um elemento qualquer g1 G \ S e listamos
h1
h2
...
hk
g 1 h1 g 1 h2 . . . g 1 hk
Denotando a segunda linha da tabela por g1 S, para lembrar como seus elementos foram construdos, temos duas possibilidades. Se G = S (g1 S) o
processo para; seno, escolhemos g2 G = S \ (g1 S) e adicionamos tabela a
linha g2 S, obtendo
h1
h2
...
hk
g 1 h1 g 1 h2 . . . g 1 hk
g 2 h1 g 2 h2 . . . g 2 hk
O processo continua dessa maneira at que todos os elementos de G estejam
na tabela, o que acontecer inevitavelmente, pois estamos supondo que G tem
uma quantidade finita de elementos.

4. O TEOREMA DE LAGRANGE

65

Vejamos como a tabela ficaria se o grupo fosse U(13) e S fosse o subgrupo


cclico gerado 3. Como
2
3
3 = 9 e 3 = 27 = 1
temos que
S = h3i = {1, 3, 9},
cujos elementos formaro a primeira linha da tabela. Para construir a segunda
linha da tabela precisamos de um elemento de U(13) que no pertena a S; por
exemplo, 2. Como
23 =6 e 29 =5
as duas primeiras linhas da tabela sero
1 3 9
2 6 5
Mas isto ainda no esgota os elementos de U(13), j que a tabela acima ainda
no contm todos os elementos deste grupo. Escolhemos, ento, um dos elementos que ainda no esto na tabela, por exemplo 8. Levando em conta que
8 3 = 11 e

89=7

podemos adicionar mais uma linha a tabela, obtendo:


1 3 9
2 6 5
8 11 7
Precisamos executar mais um passo, pois ainda restam elementos de fora da
tabela. Mas 4 um destes elementos e
4 3 = 12 e

de modo que a tabela completa ser

4 9 = 10

1 3 9
2 6 5
8 11 7
4 12 10
Como esta tabela tem #S = 3 colunas e 4 linhas e cada elemento de U(13)
aparece exatamente em uma casa da tabela, podemos afirmar que
#U(13) = #S 4,

como afirma o teorema de Lagrange.

Como a conta ao final deste exemplo sugere, para provar o teorema de Lagrange precisamos apenas mostrar que no pode haver elementos repetidos na

66

3. GRUPOS FINITOS

tabela. Mas isto muito fcil de fazer. Voltando ao caso geral em que o grupo
G e o subgrupo S, suponhamos que haja dois elementos iguais a tabela. Digamos que um deles esteja na linha cujo primeiro elemento gi e na coluna cujo
primeiro elemento hr , ao passo que o outro elemento est na linha iniciada
por gj e na coluna iniciada por ht . Em outras palavras, o que estamos supondo
que
g i hr = g j ht .
Se i = j, multiplicamos esta equao pelo inverso de gi = gj , obtendo hr = ht ,
o que contradiz nossa hiptese de que os hs so todos distintos. Mas, se i < j,
ento, multiplicando a equao pelo inverso ht de ht , obtemos
gj = gi hr ht ,
o que tambm no possvel, porque gj foi escolhido de modo a no pertencer
a nenhuma das linhas anteriores da tabela, ao passo que gi hr ht pertence
linha iniciada por gi . Portanto, no h elementos repetidos na tabela. Logo, a
quantidade de elementos de G igual quantidade de linhas da tabela vezes a
quantidade de colunas. Como esta ltima igual a #S, o teorema est provado.
A aplicao mais imediata do teorema de Lagrange determinao dos
subgrupos de um dado grupo. Por exemplo, digamos que queremos achar todos
os subgrupos do grupo multiplicativo
U(16) = {1, 3, 5, 7, 9, 11, 13, 15}.
Este grupo tem ordem 8, logo s pode ter subgrupos de ordem 1, 2, 4 ou 8. Os
subgrupos de ordem 1 e 8 so {1} e U(16), respectivamente. Antes de prosseguir,
vamos determinar as ordens de todos os elementos de U(16). Um clculo fcil
mostra que os elementos de ordem 2 so 7, 9, 15 e os elementos de ordem 4 so
3, 5, 11 e 13. De imediato podemos concluir que U(16) no cclico, porque no
tem nenhum elemento de ordem 8. Alm disto, este grupo tem um subgrupo
prprio que no cclico. Isto acontece porque o conjunto
{1, 7, 9, 15}.
um subgrupo de U(16), mas seus elementos tm ordem menor ou igual a 2.
Note que este subgrupo tem ordem 4, um nmero composto. Isto no mera
coincidncia, como veremos na prxima seo, todo grupo de ordem prima tem
que ser cclico. Logo, em um grupo qualquer, se um subgrupo no cclico ento
sua ordem tem que ser um nmero composto.
5. Aplicaes
Nesta seo veremos algumas aplicaes do teorema de Lagrange. Para a
primeira delas, suporemos que G um grupo finito e que g um elemento de G,

5. APLICAES

67

diferente do elemento neutro e. Pelo teorema de Lagrange, a ordem do grupo


cclico gerado por g divide a ordem de G. Em particular, se a ordem de G for
um nmero primo p, ento a ordem de qualquer um de seus subgrupos ser
igual a 1 ou ordem de G. Como
e 6= g hgi G,

temos que a ordem de hgi no pode ser 1. Portanto, hgi tem ordem p, o que s
pode acontecer se
hgi = G.
Mostramos, assim, que em um grupo de ordem prima, todo elemento diferente
da identidade um gerador.
Infelizmente, isto no pode ser aplicado ao grupo U(p), a no ser quando p =
3. Isto se d porque o resultado requer que a quantidade de elementos do grupo
seja um nmero primo; mas U(p) tem p 1 elementos e p e p 1 s so ambos
primos quando p = 3. Por outro lado, se aplicarmos o teorema de Lagrange
diretamente ao grupo U(p), obteremos um resultado j nosso conhecido. De
fato, se p primo e a Zp no a classe do zero ento, pelo teorema de
Lagrange, a ordem de hai divide p 1, que a ordem de U(p). Entretanto,
como vimos na seo 3, a ordem de hai coincide com o menor inteiro k > 0 para
o qual ak = 1. Mas, de
p 1 = #U(p) = k ,
para algum inteiro positivo , podemos concluir que
ap1 = ak = (ak ) = 1,
que o que nos diz o teorema de Fermat. Portanto, o teorema de Fermat uma
consequncia imediata do teorema de Lagrange.
Nosso prximo exemplo bem mais ambicioso. Suponhamos que 1 < p < q
so nmeros primos e que G um grupo de ordem pq. O que podemos afirmar,
a respeito de um tal grupo, sabendo apenas a sua ordem? A primeira coisa a
observar que existem grupos cclicos de ordem pq; um exemplo simples o
grupo aditivo Zpq , que gerado por 1. Podemos, ento, reformular a pergunta
da seguinte forma: existem grupos de ordem pq que no so cclicos ?
Suponhamos, para comear, que G um grupo finito cujo elemento neutro
e. Digamos que S1 e S2 so subgrupos prprios de G e que a ordem de S1
prima. Pelo que provamos acima, isto implica que qualquer elemento de S1 ,
diferente de e, gera o subgrupo S1 inteiro. Em particular, se
ento q gera S1 , de modo que

e 6= q S1 S2

S1 = hqi = S1 S2 S2 .

68

3. GRUPOS FINITOS

Provamos assim o seguinte resultado.


L EMA 5.1. Sejam G um grupo finito e S1 e S2 subgrupos prprios de G. Se S1
tem ordem prima, ento S1 S2 ou S1 S2 = {e}.
Digamos, agora, que G no seja cclico e que tenha ordem pq. Das duas uma:
ou G tem elementos de ordem p e elementos de ordem q, ou todos os elementos
de G \ {e} tm a mesma ordem. Analisaremos este dois casos separadamente,
comeando com o primeiro. Sejam, pois, g e h elementos de G cujas ordens so,
respectivamente, p e q. Se r for a ordem de g h, ento
(g h)r = gr hr = e,
para algum inteiro positivo r, de modo que
gr = (h )r hgi hhi,

em que h o inverso de h em G. Contudo, pelo lema,


hgi hhi = {e}

j que estes subgrupos tm ordem p e q, respectivamente. Logo,


gr = (h )r = e,
de modo que a ordens de g e h tm que dividir r, pelo lema chave da pgina
???. Como os primos p e q so distintos, pq tem que dividir r. Contudo, pelo
teorema de Lagrange, r tem que dividir #G = pq; donde podemos concluir que
r = pq. Isto significaria que G cclico, mas estamos supondo que no este o
caso.
Resta-nos, portanto, considerar o caso em que todos os elementos de G,
diferentes de e, tm ordem igual a um dos primos, digamos p. Desta vez vamos
contar os elementos de G usando o lema. Procederemos da seguinte maneira.
Comeamos com S1 = hg1 i. Como este subgrupo tem ordem p < pq, existe
g2 G \ S1 . O conjunto
S2 = {r t | r hg1i e t hg2i} G,

um subgrupo de G; veja exerccio 8. Digamos que dois elementos de S2 sejam


iguais; por exemplo,
r1 t1 = r2 t2 ,
em que r1 , r2 hg1 i e t1 , t2 hg2 i. Multiplicando esta igualdade pelo inverso de
r2 t1 , obtemos
(47)

r1 r2 = t1 t2 hg1 i hg2 i,

em que estamos usando a linha para denotar o inverso de um elemento. Como


j sabemos que
hg1 i hg2 i = {e},

EXERCCIOS

69

podemos deduzir de (47) que


r1 = r2

t1 = t2 .

Logo,
#S2 = p2 .
Contudo, pelo teorema de Lagrange, a ordem de S2 tem que dividir a ordem
de G, o que no possvel neste caso porque p 6= q. Logo, os elementos de G
no podem ter todos ordem igual a um dos primos que dividem #G. Podemos
resumir os resultados mais importantes desta seo da seguinte forma.
T EOREMA 5.2. Um grupo (abeliano) cuja ordem um nmero primo ou um
produto de dois primos distintos necessariamente cclico. Alm disso, todos os
elementos, diferentes do neutro, de um grupo de ordem prima so geradores do
grupo.
Exerccios
1. Relativamente a quais dos primos entre 3 e 19, o nmero 2 um resduo
quadrtico? E o nmero 3?
2. Determine todos os resduos quadrticos mdulo 5, 7 e 11.
3. Seja p > 2 um primo. Prove as seguintes propriedades dos resduos quadrticos:
(a) se a e b so resduos quadrticos mdulo p ento o mesmo vale para ab;
(b) se a um resduos quadrtico mdulo p e ab 1 mod p, ento b tambm um resduo quadrtico modulo p.
4. Determine os elementos dos seguintes grupos de Pell modulares: P(3, 5),
P(4, 5), P(3, 7) e P(4, 7).
5. Seja p = 2m + 1 um nmero primo positivo. Mostre que se b um resduo
quadrtico mdulo p ento bm 1 (mod p).
6. Seja G um grupo finito provido de uma operao . Suponha que um primo
p divide a ordem de G e considere o subconjunto Hp de G formado pelo
elemento neutro e pelos elementos de ordem p contidos em G.
(a) Mostre que Hp um subgrupo de G.
(b) Determine H3 quando G = U(28).
7. Considere o grupo U(20).
(a) Determine a ordem de U(20).
(b) Determine a ordem de cada elemento de U(20).

70

3. GRUPOS FINITOS

(c) Mostre que o grupo U(20) no cclico.


(d) Determine os subgrupos de ordem 4 de U(20).
(e) Determine um subgrupo de U(20) que no seja cclico.
8. Seja G um grupo dotado de uma operao e sejam S1 e S2 subgrupos de G.
Mostre que o conjunto
S1 S2 = {s1 s2 |s1 S1 e s2 S2 }

um subgrupo de G.

9. Suponhamos que G um grupo cclico finito de ordem n. Mostre que se m


divide n ento G tem um elemento de ordem m.
10. Sabe-se que [48, 33] um gerador de P(11, 59). Determine elementos de
ordem 5, 10, 30 e 20 neste grupo.
11. Seja G um grupo e S1 e S2 dois subgrupos de G. Mostre que S1 S2 s pode
ser um subgrupo de G se S1 S2 ou S2 S1 .
12. Seja n um inteiro positivo, composto e mpar. Considere o seguinte subconjunto do grupo U(n):
H(n) = {b U(n) : n pseudoprimo para a base b}.

Determine se cada uma das afirmaes abaixo verdadeira ou falsa, justificando cuidadosamente suas respostas.
(a) H(n) um subgrupo de U(n).
(b) H(n) no pode ser igual a U(n) porque n composto.
(c) U(n) no pode ter um elemento de ordem n 1 porque n composto.
13. Determine:
(a) os subgrupos cclicos de ordem 4 de U(21) e de U(42);
(b) os subgrupos cclicos e no cclicos de ordem 6 de U(28);
(c) um gerador do grupo U(22);
(d) todos os subgrupos no cclicos de ordem 4 do grupo U(33).
14. Seja p > 0 um primo e c um inteiro positivo. Mostre que se 2c! 1 (mod p)
e se 2 um gerador do grupo U(p) ento todos os fatores primos de p 1
so menores que c.
15. Seja G um grupo cclico finito gerado por um elemento a.
(a) Mostre que se S um subgrupo de G e se m o menor inteiro positivo
tal que am S, ento am gera S.
(b) D um exemplo de um grupo G que no cclico, mas cujos subgrupos
prprios so todos cclicos.

EXERCCIOS

71

16. Seja G um grupo cclico de ordem n, g um gerador do grupo G e r um inteiro


positivo. Mostre que:
(a) se r divide m, ento a ordem de gr igual ao cofator de r em m;
(b) se r e m so primos entre si, ento a ordem de gr igual a m.
17. Seja G um grupo finito e seja n um nmero inteiro positivo. Considere o
conjunto Sn = {xn : x G}. Isto , os elementos de Sn so as potncias
n-simas de elementos de G.
(a) Mostre que Sn um subgrupo de G.
(b) Calcule S2 no caso em que G = U(14).
18. Seja G um grupo provido de uma operao , e sejam a e b elementos de G
de ordem trs. Suponha que a
/ hbi.
(a) Mostre que a b tem ordem 3.
(b) Qual a ordem do menor subgrupo de G que contm a e b?
19. Ache um gerador para cada um dos seguintes grupos de Pell modulares
P(3, 5), P(4, 5), P(3, 7) e P(4, 7).

CAPTULO 4

Comparando grupos
Neste captulo calculamos as ordens dos grupos U(n) e P(d, p), que so
necessrias, respectivamente, no RSA e no teste de primalidade para nmeros
de Mersenne. Faremos isto comparando estes grupos com outros cujas ordens
so fceis de determinar. A comparao entre grupos, por sua vez, feita
atravs dos homomorfismos: aplicaes entre grupos que preservam as operaes entre elementos.

1. Homomorfismos
Quando queremos comparar dois conjuntos, construmos uma aplicao de
um deles no outro. Por exemplo, ao contar construmos uma aplicao de um
subconjunto dos nmeros inteiros no conjunto cuja quantidade de elementos
queremos determinar. Entretanto, comparar dois grupos envolve potencialmente mais do que simplesmente estabelecer uma aplicao entre dois conjuntos. Afinal de contas, grupos vm equipados com operaes, de modo que
compar-los como grupos deveria incorporar a maneira como estas operaes
se relacionam uma com a outra. A experincia mostrou que a maneira correta
de comparar dois grupos dada pelo conceito de homomorfismo, que definimos
abaixo.
Sejam G e H dois grupos providos de operaes que denotaremos, respectivamente, por e . Uma aplicao : G H um homomorfismo de grupos
se leva o elemento neutro de G no elemento neutro de H e satisfaz
(g1 g2 ) = (g1 ) (g2 ),

quaisquer que sejam os elementos g1 , g2 G. Muitas aplicaes bem conhecidas so homomorfismos de grupos. Por exemplo, a aplicao que leva cada
inteiro em seu dobro um homomorfismo do grupo aditivo Z nele mesmo. J
a exponencial cuja base um nmero positivo, um homomorfismo do grupo
aditivo R no grupo multiplicativo dos nmeros reais no nulos.
73

74

4. COMPARANDO GRUPOS

fcil construir homomorfismos entre grupos de inversveis modulares.


Considere, por exemplo, a funo
: U(16) U(32),

que leva uma classe a U(16) em a2 U(32). A primeira coisa a notar que
a uma classe mdulo 16, ao passo que a2 est sendo considerada como uma
classe mdulo 32. Por isso, antes de verificar se satisfaz as propriedades que
definem os homomorfismos, precisamos ter certeza de que esta aplicao est
bem definida; isto , que classes iguais em U(16) so levadas em classes iguais
em U(32). Traduzindo em termos de congruncias, o que precisamos mostrar
que se a b (mod 16), ento a2 b2 (mod 32). Mas, a b (mod 16) equivale
a dizer que a = b + 16k, para algum inteiro k. Como
a2 = b2 + 32(bk + 8k2 )
podemos concluir que a2 b2 divisvel por 32, o que mostra que a2 b2
(mod 32). Agora que sabemos que est bem definida, podemos verificar se
um homomorfismo de grupos. Como 12 = 1, claro que leva o elemento neutro
de U(16) no elemento neutro de U(32). Finalmente, se a, b U(16), ento
que, por sua vez, igual a

(a b) = (a b)2 ,
2

a2 b = (a) (b),

confirmando que mesmo um homomorfismo de grupos.


Nosso segundo exemplo mais geral e ser muito usado adiante. Sejam m
e n inteiros positivos tais que m divide n e considere a aplicao
n,m : U(n) U(m),

que leva a U(n) na classe de U(m) que representada por a. Como no exemplo anterior, a primeira coisa que precisamos mostrar que se a = em
U(n), ento a e tambm representam a mesma classe em U(m). Mas a
(mod n) equivale a dizer que a mltiplo de n. Como, por sua vez, n
mltiplo de m, podemos concluir que m divide a , donde a (mod m),
como precisvamos mostrar. Para que voc no fique com a impresso de que o
que mostramos bvio, observe que se m no divide n ento a aplicao correspondente no pode ser corretamente definida. Por exemplo, 17 7 (mod 10),
portanto 7 e 17 representam a mesma classe mdulo 10. Contudo, se a aplicao 10,7 existisse, ela levaria a classe 17 = 7 de Z10 na classe 3 ou na classe
0 de Z7 , dependendo se a imagem foi calculada usando 17 ou 7 como representante da classe em Z10 . Como um elemento do domnio de uma aplicao s
pode ser levado em um elemento da imagem, 10,7 no pode ser uma aplicao.

1. HOMOMORFISMOS

75

No caso em que m divide n, o homomorfismo n,m , definido acima, pode ser


usado para construir o homomorfismo
n,m : U(d, n) U(d, m),

que leva P = (x0 , y0) U(d, n) no par

n,m (P) = (n,m (x0 ), n,m (y0 )).


Como n,m est bem definido, o mesmo vale para n,m . A verificao de que se
trata de um homomorfismo fcil e ficar por sua conta.
Os homomorfismos de grupos satisfazem uma outra propriedade, que consequncia direta da definio. Voltando situao geral, digamos que G e
H sejam grupos munidos de operaes e , respectivamente, e digamos que
: G H um homomorfismo de grupos: qual a imagem por do inverso
de um elemento g G? Para determinar isto, digamos que g o inverso de g
em G. Vamos calcular (g g ) de duas maneiras diferentes. Por um lado, g g
igual ao elemento neutro e de G, de modo que
(g g ) = (e)
que o elemento neutro de H; por outro,
(g g ) = (g) (g ).

Comparando estas duas equaes, deduzimos que (g) (g ) igual ao elemento neutro de H. Mas isto significa que (g ) o inverso de (g) em H.
Temos, portanto, que um homomorfismo de grupos : G H:
leva o produto de dois elementos de G no produto de suas imagens em
H;
leva o elemento neutro de G no elemento neutro de H;
leva o inverso de um elemento de G no inverso da imagem daquele
elemento.

Como ocorre com qualquer outra aplicao, podemos definir a imagem de


um homomorfismo de grupos : G H como sendo o subconjunto de H formado por aqueles elementos que so imagem de algum elemento de G por .
Em outras palavras,
im() = {(g) | g G}.

fcil mostrar que im() um subgrupo de H. Outro subgrupo, desta vez de


G, que muito importante no estudo dos homomorfismos de grupos o ncleo
de , que o conjunto dos elementos de G que so levados no elemento neutro
de H. Note que o ncleo no pode ser vazio porque, por definio, o elemento

76

4. COMPARANDO GRUPOS

neutro do domnio levado no neutro da imagem. Por exemplo, considere o


homomorfismo grupos
: U(16) U(32),

definido acima por (a) = a2 . Os resduos mdulo 32 dos quadrados dos inteiros
mpares entre 1 e 15 podem ser encontrados na tabela 1.
1 3 5 7 9 11 13 15
Inteiro mpar
Quadrado mdulo 32 1 9 25 17 17 25 9 1
TABELA 1. Quadrados dos inteiros de 1 a 15 mdulo 32

Portanto,
im() = {1, 9, 25, 17} U(32),

ao passo que

N() = {1, 15} U(16).

Embora o conceito de imagem de uma aplicao provavelmente lhe seja


familiar, possvel que voc nunca tenha ouvido falar em ncleo. A razo para
isto que este conceito se aplica apenas a homomorfismos de grupos ou de
outros conjuntos que admitam operaes, entre eles espaos vetoriais. Por isso
provaremos um resultado que ilustra porque deveramos estar interessados no
ncleo.
Proposio. Um homomorfismo de grupos injetivo se, e somente se, seu ncleo contm apenas o elemento neutro.
Lembre-se que uma aplicao injetiva quando no h dois elementos diferentes de seu domnio sendo levados no mesmo elemento da imagem. Com isto,
cada elemento do domnio corresponde a, exatamente, um elemento do grupo
imagem. Em particular, se o domnio de uma aplicao injetiva finito, ento sua imagem tem exatamente a mesma quantidade de elementos que seu
domnio.
D EMONSTRAO. Sejam : G H um homomorfismo de grupos e g1 6= g2
elementos de G. Digamos que G tem operao e elemento neutro e e H tem
operao e elemento neutro . Alm disso, usaremos uma linha para indicar
o inverso de um elemento, esteja ele em G ou H. Note que se e 6= g N(),
ento
(g) = = (e),

2. ORDEM DE P(d, p)

77

de modo que no pode ser injetiva, j que leva e e g 6= e no mesmo elemento


de H. Para provar a recproca, suponha que N() = {e} e que
(g1 ) = (g2 ).
Como H um grupo, a igualdade acima equivale a
(g1 ) (g2 ) = ;

que pode ser reescrita na forma

(g1 ) (g2 ) = ,

pois, como j vimos, (g2 ) = (g2 ) . Como um homomorfismo, obtemos


(g1 g2 ) = .
Mas, pela definio de ncleo, isto significa que
g1 g2 N() = {e}.

Contudo, multiplicando ambos os lados de g1 g2 = e por g2 , conclumos que


g1 = g2 , como precisvmos mostrar.

Os homomorfismos injetivos cujo conjunto de chegada (contra-domnio) coincide com a imagem so chamados de isomorfismos; dois grupos so isomorfos
se existe um isomorfismo de um deles no outro. Naturalmente, dois grupos
isomorfos tm a mesma quantidade de elementos. Contudo, a existncia de
um isomorfismo entre dois grupos nos diz muito mais sobre eles do que sua
quantidade de elementos. De fato, embora os elementos de dois grupos isomorfos possam ser de natureza muito diferente, as suas propriedades como grupos
so exatamente as mesmas. Em outras palavras, no possvel distinguir dois
grupos que so isomorfos se considerarmos apenas aquelas propriedades que
decorrem do fato de serem grupos. Nas prximas sees estabeleceremos vrios
isomorfismos de grupos que nos permitiro, entre outras coisas, determinar as
ordens de U(n), quando n composto, e de P(d, p), quando p > 2 um primo.
2. Ordem de P(d, p)
Nesta seo usaremos homomorfismos de grupos para calcular a ordem do
grupo da equao de Pell modular. Seja p > 2 um primo e seja d um inteiro
positivo. Comearemos com o caso em que d no resduo quadrtico mdulo
p, que o que ser usado, no captulo 5, para justificar o teste de Lucas-Lehmer
para primos de Mersenne. Considere a aplicao
: U(d, p) U(p),

78

4. COMPARANDO GRUPOS
2

que ao par (a, b) associa sua norma a2 db ; veja pgina 57. Da definio de
norma claro que
(1, 0) = 1.
Alm disso, como vimos na equao (45) da pgina 57,
(P1 P2 ) = (P1 ) (P2 ),

para todo P1 , P2 U(d, p). Logo, um homomorfismo de grupos.

Dado a U(p), definimos 1 (a) como sendo o subconjunto de U(d, p) formado pelos pares cuja norma a; isto ,
1 (a) = {P U(d, p) | (P) = a}.

Como cada elemento de U(d, p) tem exatamente uma imagem por , podemos
escrever
(48)
em que

U(d, p) = 1 (1) 1 (2) 1 (n 1),

(49)

1 (a) 1 (b) =

se a 6= b. Por outro lado, como um homomorfismo, temos que se Q 1 (a)


e Q seu inverso em U(d, p), ento (Q ) igual ao inverso de a em U(p).
Portanto, se Q1 , Q0 1 (a) e Q0 o inverso de Q0 em U(d, p), ento
(Q1 Q0 ) = (Q1)(Q0 ) = 1.

Em outras palavras, Q1 Q0 = P P(d, p), de modo que


Q1 = P Q0 ;

isto , dado Q0 (a), podemos dizer que


1

Por outro lado,

1 (a) {P Q0 | P P(d, p)}.

(P Q0 ) = (P)(Q0) = (Q0),
j que P P(d, p). Logo, temos a igualdade
1 (a) = {P Q0 | P P(d, p)}.

Contudo, como estamos em um grupo,

P1 Q0 = P2 Q0

s pode ocorrer se P1 = P2 , o que nos permite concluir que


#1 (a) = #P(d, p).
Combinando isto com (48) e (49), obtemos
#U(d, p) = #1 (1) + #1 (2) + + #1 (p 1) = (p 1)#P(d, p).

2. ORDEM DE P(d, p)

79

Entretanto, como vimos na proposio da pgina 58,


#U(d, p) = (p 1)(p + 1);
donde
(p 1)(p + 1) = (p 1)#P(d, p).
Cancelando p 1 nesta igualdade conclumos que
#P(d, p) = p + 1,
no caso em que d no resduo quadrtico mdulo p.
Passando, agora, ao caso em que d resduo quadrtico mdulo p, digamos
que
d q2 (mod p).
Neste caso, o lado esquerdo da equao de Pell x2 dy2 = 1 pode ser fatorado,
de forma que, se (x0 , y0 ) P(d, p), ento
(50)

1 = x0 2 dy0 2 = (x0 + qy0 )(x0 qy0 ),

Mas, para que isto seja verdade, preciso que os fatores x0 qy0 e x0 + qy0
sejam um o inverso do outro em Zp . Isto nos permite definir uma aplicao
pela regra
(51)

: P(d, p) U(p)

(x0 , y0 ) = x0 + qy0 .

Como leva (1, 0) em 1, precisamos apenas verificar que


(52)

(P1 P2 ) = (P1 )(P2 ),

quaisquer que sejam P1 , P2 P(d, p), e teremos provado que um homomorfismo de grupos. Digamos que
P1 = (x1 , y1 ) e

P2 = (x2 , y2 ).

Aplicando a regra que define ao produto P1 P2 , obtemos


(53)

Por outro lado,

(P1 P2 ) = (x1 x2 + dy1 y2 ) + q(x1 y2 + y1 x2 ).

(P1 )(P2 ) = (x1 + qy1 )(x2 + qy2 ).


Efetuando o produto e levando em conta que d = q2 , descobrimos que o lado
direito desta ltima equao igual ao lado direito de (53), provando que a
igualdade (52) mesmo verdadeira. Portanto, um homomorfismo de grupos.
Como queremos mostrar que um isomorfismo, vamos tentar identificar
sua imagem. Para isto, precisamos identificar quais so os elementos U(p)
que podem ser escritos na forma
= x0 + qy0 ,

80

4. COMPARANDO GRUPOS

para algum par (x0 , y0 ) P(d, p). Mas, usando (50), obtemos
(x0 qy0 ) = 1,

que s pode ocorrer se x0 qy0 for igual ao inverso de em U(p). Disto,


obtemos o sistema linear
(54)

x0 + qy0 =
x0 qy0 = .

Como p mpar por hiptese, podemos escrev-lo na forma p = 2m 1, para


algum inteiro positivo m. Mas isto signfica que
2m 1 (mod p);

isto , m o inverso de 2 mdulo p. Levando isto em conta, as solues do


sistema linear (54) so
x0 = ( + )m

y0 = ( )m.

Mostramos, assim, que


(( + )m, ( )m) = ,
qualquer que seja U(p). Alm disso, esta a nica escolha possvel de
ponto em P(d, p) que satisfaz esta propriedade, porque o sistema linear (54)
no tem nenhuma soluo alm desta. Portanto, provamos que cada elemento
de U(p) imagem de exatamente um elemento de P(d, n); de modo que um
isomorfismo de grupos. Em particular, P(d, p) e U(p) tm a mesma quantidade
de elementos. O que aprendemos sobre as ordens dos grupos de Pell modulares
pode ser resumido na seguinte frmula: se p > 2 um nmero primo e d > 1
um nmero inteiro, ento

p1
se d resduo quadrtico mdulo p;
(55)
#P(d, p) =
p+1
se d no resduo quadrtico mdulo p.
Contudo, os isomorfismos que provamos nesta seo nos dizem muito mais
sobre estes grupos do que apenas suas ordens. Por exemplo, veremos no captulo 5 que os grupos U(p) so cclicos. Como U(p) isomorfo a P(d, p) quando d
resduo quadrtico, podemos deduzir que este ltimo grupo tambm cclico.
Na verdade, podemos fazer uma afirmao ainda mais precisa: se a um gerador de U(p), ento 1 (a) um gerador de P(d, p); veja exerccios 6 e 7.
3. Produtos cartesianos e tabelas
Do ponto de vista matemtico, uma tabela corresponde ao produto cartesiano L C, de dois conjuntos finitos L e C. Neste caso, cada linha da tabela

3. PRODUTOS CARTESIANOS E TABELAS

81

indexada por um smbolo de L e cada coluna por um smbolo de C. Em nossas aplicaes trabalharemos com as tabelas associadas ao produto cartesiano
Zm Zn . Por exemplo, as casas da tabela 2 so indexadas pelos pares em Z5 Z6 .
0 1 2 3 4 5
0
1
2
3
4
TABELA 2. Tabela indexada pelos pares em Z5 Z6 .

Para formular de maneira matemtica o que significa preencher a tabela


cujas casas so indexadas por L C, usamos uma aplicao p : L C V,
em que V o conjunto ao qual pertencem os valores que sero atribudos s
diversas casas. Usando esta terminolgia, temos que a casa que est na linha
indexada por e na coluna indexada por c recebe o valor p(, c). Voltando
ao caso que mais nos interessa, queremos preencher a tabela Zm Zn com
elementos de Zmn . Para isso, usaremos a aplicao
m,n : Zm Zn Zmn

que a cada par (a, b) associa a classe c Zmn para a qual


c a (mod m)

cb

(mod n).

Voltando tabela do nosso exemplo, verificamos que as casas cuja linha e


coluna so indexadas pelo mesmo nmero inteiro podem ser preenchidas com
este nmero. Para as demais, precisamos resolver o sistema de congruncias
correspondente. Por exemplo, a casa da tabela 2 cuja linha indexada por 2 e
cuja coluna indexada por 5 deve ser preenchida com o nmero c entre 0 e 29
que satisfaz as congruncias
c2

c5

(mod 5)
(mod 6).

Resolvendo este sistema pelo algoritmo chins do resto, descobrimos que c =


17. Como 5 e 6 so primos entre si, o teorema chins do resto nos garante que

82

4. COMPARANDO GRUPOS

possvel preencher toda a tabela, casa a casa, de modo que a cada casa corresponda exatamente uma classe de Z30 . Procedendo desta maneira, obtemos a
tabela 5.
Entretanto, h uma outra maneira de preencher a tabela, muito mais simples, que faz uso da descrio geomtrica do conjunto Zn que estudamos no
captulo ???. Nosso ponto de partida , mais uma vez, o fato de que fcil
preencher as casas que esto no que chamaremos de diagonal da tabela; isto
, aquelas casas cuja linha e coluna so indexadas pelo mesmo inteiro. O problema que, com isto, s conseguimos preencher cinco casas da tabela, aquelas
cujas entradas so 0, 1, 2, 3 e 4. No podemos continuar preenchendo a diagonal
porque aparentemente a tabela acabou. Contudo, os limites desta tabela so
da mesma natureza daqueles de um mapa mundi. Isto , so forados pelo fato
de que estamos fazendo uma representao plana da superfcie de um slido
tridimensional. Afinal, pelo que vimos na seo ??? do captulo ??? os lados de
baixo e de cima da tabela deveriam estar colados, j que Z5 representado geometricamente marcando suas classes como 5 pontos igualmente espaados ao
longo de uma circunferncia. Assim podemos continuar preenchendo a tabela
ao longo da diagonal; isto , movendo-nos, simultaneamente, uma casa para
direita e uma para baixo ao longo de toda a tabela. S que o 5, que deveria
vir uma coluna direita e uma linha abaixo do 4, pula para a casa da coluna
direita, s que na primeira linha da tabela; ver tabela 3.
0 1 2 3 4 5
0 0
5
1
1
2
2
3
3
4
4
TABELA 3. Posio da classe 5 Z30 na tabela Z5 Z6 .

De modo semelhante, a tabela no acaba na coluna mais direita: colando


o lado direito ao esquerdo, verificamos que 6 deve ser posicionado na primeira
coluna, uma linha abaixo de onde est o 5. Se continuamos a nos mover uma
casa para direita e uma para baixo ao longo da tabela, podemos posicionar,
sem dificuldade, as classes 7, 8 e 9; ver tabela 4.

3. PRODUTOS CARTESIANOS E TABELAS

83

0 1 2 3 4 5
0 0
5
1 6 1
2
7 2
3
8 3
4
9 4
TABELA 4. Posio das 9 primeiras classes de Z30 na tabela Z5 Z6 .
Como o 9 ocupa uma casa na fronteira inferior da tabela, a classe 10 deve
ser posta na primeira linha da tabela, uma coluna direita do 9. O 11 vai parar
uma casa direita e uma abaixo do 10, mas para posicionar o 12 devemos mais
uma vez pular da coluna mais direita para a mais esquerda da tabela, na
casa logo abaixo do 6. As classes 13 e 14 so preenchidas sem dificuldade, mas
15 vai parar na primeira linha, uma posio direita do 14. Ao chegar a 17
precisamos dar mais um pulo da direita para a esquerda e ao chegar a 18 um
de baixo para cima. Continuando desta maneira, obtemos a tabela 5.

0
1
2
3
4

0 1 2 3 4 5
0 25 20 15 10 5
6 1 26 21 16 11
12 7 2 27 22 17
18 13 8 3 28 23
24 19 14 9 4 29

TABELA 5. Tabela indexada pelos pares em Z5 Z6 .

Como observamos acima, o retngulo Zm Zn a representao bidimensional da superfcie de um slido, da mesma maneira que um mapa mundi.
No caso do mapa mundi, trata-se da superfcie de uma esfera. E no caso do
Zm Zn , qual o slido cuja superfcie ele representa? Tomando um retngulo
de papel e colando dois de seus lados paralelos, obtemos um tubo. Para obter
a superfcie do slido, precisamos colar as circunferncias nas extremidades
deste tubo. O resultado a superfcie de um toro, como o que ilustramos na
figura ???.

84

4. COMPARANDO GRUPOS

Em geral, quando o mximo divisor comum dos mdulos diferente de 1,


nem todos os sistemas que podemos escrever tm soluo. Se pensarmos em
termos da representao grfica, isto significa que nem todas as casas da tabela
sero preenchidas. Mais uma vez no necessrio resolver nenhum sistema
para preencher a tabela. Basta ir preenchendo a diagonal, e lembrando que a
tabela habita a superfcie de um toro. Fazendo isto, quando os mdulos m e n
no so primos entre si, voltamos casa de coordenadas (0, 0) antes de esgotar
os nmeros de 0 a mn 1. por isso que h casas que no so preenchidas. A
tabela 6 corresponde ao caso em que m = 4 e n = 6.
0 1 2 3
0 0
6
1
1
7
2 8
2
3
9
3
4 4
10
5
5
11
TABELA 6. Tabela Z6 Z4 com todas as casas possveis preenchidas.

4. Tabelas e grupos
As tabelas que introduzimos na seo anterior tm suas linhas indexadas
por classes de Zm , suas colunas indexadas por classes de Zn e cada casa
preenchida por um elemento de Zmn , quaisquer que sejam os inteiros m e n
primos entre si. Alm disso, vimos que a traduo matemtica destas tabelas
so as aplicaes
m,n : Zm Zn Zmn
que a cada par (a, b) do domnio associam a classe c Zmn para a qual
c a (mod m)

cb

(mod n).

Mas Zm , Zn e Zmn so, todos trs, grupos aditivos, de modo que podemos nos
perguntar se isto se reflete em alguma propriedade de m,n . A resposta sim.
De fato, m,n um homomorfismo de grupos mas, para mostrar isto, precisamos
primeiro introduzir uma estrutura de grupo no produto cartesiano Zm Zn .

4. TABELAS E GRUPOS

85

Como esta estrutura em nada depende dos grupos em questo serem inteiros
mdulo n, trataremos este problema de maneira inteiramente geral.
Sejam, pois, G e H dois grupos. Como j se tornou rotina, suporemos que
as operaes em G e H so e e que seus elementos neutros so e e , respectivamente. Definimos uma operao no produto cartesiano G H pela
regra
(g1 , h1) (g2 , h2) = (g1 g2 , h1 h2 ),
em que g1 , g2 G e h1 , h2 H. fcil verificar que G H um grupo relativamente operao e tem como elemento neutro o par (e, ); os detalhes
ficaro por sua conta. Diremos que o grupo G H resultante desta construo
o produto direto dos grupos G e H. Em particular, podemos usar o produto
direto para definir a soma de pares em Zm Zn obtendo regra
(a1 , b1) + (a2 , b2) = (a1 + a2 , b1 + b2 ),
em que a1 , a2 Zm e b1 , b2 Zn .

Com isto os conjuntos de partida e chegada da aplicao m,n so grupos


e a pergunta m,n homomorfismo de grupos? faz perfeito sentido neste contexo. Para comear, o procedimento de preencher a tabela ao longo da diagonal,
utilizado na seo anterior, garante que
m,n (0, 0) = 0 Zmn .

Portanto, para provar que m,n um homomorfismo de grupos, basta mostrar


que
m,n (p1 + p2 ) = m,n (p1) + m,n (p2),
quaisquer que sejam os pares p1 , p2 Zm Zn . Suponhamos que
p1 = (a1 , b1)

e que

p2 = (a2 , b2);

neste caso, teremos que


m,n (p1) = c1

m,n (p2 ) = c2

com c1 , c2 Z definidos por


(56)

c 1 a1

c 1 b1

(mod m)
(mod n)

c 2 a2
c 2 b2

(mod m)
(mod n).

Somando, respectivamente, as congruncias mdulo m e as congruncias mdulo n, obtemos


c 1 + c 2 a1 + a2
c 1 + c 2 b1 + b2

(mod m)
(mod n).

86

4. COMPARANDO GRUPOS

Portanto, pela definio da aplicao m,n ,


m,n (a1 + a2 , b1 + b2 ) = c1 + c2 .
Como
c1 + c2 = c1 + c2
podemos concluir que
m,n (a1 + a2 , b1 + b2 ) = m,n (a1 , b1) + m,n (a2, b2),
que o que queramos provar.
5. A ordem de U(n)
Embora o conjunto dos inteiros modulares no seja um grupo relativamente
multiplicao, o argumento usado na seo anterior pode ser aplicado multiplicao, em vez da adio. Mais precisamente, se m e n so inteiros primos
entre si, ento
(57)

m,n (p1 p2 ) = m,n (p1) m,n (p2 ),

quaisquer que sejam p1 , p2 Zm Zn , em que o produto dos pares


p1 = (a1 , b1) e

p2 = (a2 , b2);

deve ser definido por


p1 p2 = (a1 a2 , b1 b2 ).
Para provar (57), basta notar que se m,n (p1 ) = c1 e m,n (p2 ) = c2 ento, multiplicando as congruncias mdulo m e as congruncias mdulo n em (56), obtemos
c 1 c 2 a1 a2
c 1 c 2 b1 b2

(mod m)
(mod n).

Portanto, pela definio da aplicao m,n ,


m,n (a1 a2 , b1 b2 ) = c1 c2 ;

donde
(58)

m,n (a1 a2 , b1 b2 ) = m,n (a1, b1 ) m,n (a2 , b2),

que equivalente a (57). Mas h ainda mais, porque (58) e a equao


m,n (1, 1) = 1 Zmn ,

nos permitem concluir que p1 , p2 Zm Zn satisfazem


se, e somente se,

p1 p2 = (1, 1)

m,n (p1 ) m,n (p2 ) = 1.

5. A ORDEM DE U(n)

87

Portanto, a imagem de um par p Zm Zn s inversvel em Zmn se as coordenadas de p forem inversveis em Zm e Zn , respectivamente. Traduzindo
a afirmao acima em uma linguagem mais adequada aos nossos propsitos
podemos dizer que
p U(m) U(n) se, e somente,

m,n (p) U(mn).

Em outras palavras, mostramos que, restringindo m,n aos pares cujas coordenadas so inversveis, obtemos um homomorfismo
m,n : U(m) U(n) U(mn),

em que U(m) U(n) o produto direto dos grupos multiplicativos U(m) e U(n).
Alm disso, como a cada par de elementos em U(m) U(n) corresponde exatamente um elemento em U(mn), o homomorfismo m,n tem que ser bijetivo.
Temos, assim, que m,n um isomorfismo de grupos multiplicativos. Vamos
sistematizar tudo isto em uma proposio, para uso futuro.
Proposio. Se m e n so inteiros primos entre si, ento existe um isomorfismo
entre os grupos multiplicativos U(m) U(n) e U(mn). Em particular, estes dois
grupos tm a mesma quantidade de elementos.
fcil construir m,n quando a tabela correspondente aplicao m,n
conhecida; para isto basta eliminar da tabela que descreve m,n as casas em
que ao menos uma das coordenadas no inversvel. Fazendo isto para
5,6 : U(5) U(6) U(30),

devemos remover da tabela 5 a linha indexada por 0 e as colunas indexadas


por 0, 2, 3 e 4. Assim, 5,6 corresponde tabela 7.

1
2
3
4

1
1
7
13
19

5
11
17
23
29

TABELA 7. Tabela correspondente ao homomorfismo 5,6 : U(5)


U(6) U(30).

88

4. COMPARANDO GRUPOS

a segunda parte do enunciado da proposio o que mais nos interessa no


momento porque, como veremos, ela nos permite calcular a ordem do grupo
dos inversveis mdulo um dado inteiro. Antes, porm, convm introduzir a
seguinte notao. Dado um inteiro n 2, definimos
(n) = #U(n).

Esta funo, originalmente introduzida por Euler em 1763, tambm conhecida como funo totiente. A notao que usamos foi introduzida por Gauss
nas Disquisitiones arithmeticae. Reformulando o resultado da proposio e a
equao (34) da pgina 53 em termos da funo totiente, podemos afirmar que
(1) (pk ) = pk1 (p 1), quando p > 2 primo e k > 0 um inteiro;
(2) (mn) = (m)(n), quando m e n so inteiros primos entre si.
Com isso temos todos os ingredientes necessrios para obter uma frmula geral
para (n). Dado n um inteiro positivo, comeamos por fatorar n,
n = pe11 . . . pekk
em que p1 < < pk so primos distintos e os expoentes so todos positivos.
Por (2),
(n) = (pe11 ) . . . (pekk ).
Usando, ento, (1), obtemos
(n) = p1e1 1 . . . pekk 1 (p1 1) . . . (pk 1),
que a frmula desejada. Por exemplo, se n = 120 = 8 3 5, ento,
(120) = 22 (2 1)(3 1)(5 1) = 32.

A utilidade desta frmula geral muito limitada. Para aplic-la necessrio


fatorar n; um problema notoriamente difcil, como j tivemos oportunidade de
observar. Contudo isto explorado de maneira positiva no RSA pois, como
veremos na seo ???? do captulo ???, precisamente o fato de que ningum
sabe como calcular os valores da funo totiente sem fatorar o argumento, que
torna o RSA seguro.
Como aplicao da funo totiente, temos a seguinte generalizao do teorema de Fermat, provada por Euler em 1763, no mesmo artigo em que introduz a funo . Como este teorema consequncia imediata do teorema de
Lagrange, deixaremos a demonstrao por sua conta.
T EOREMA
ento

DE

E ULER . Se n > 1 e a so nmeros inteiros primos entre si,


a(n) 1

(mod n).

EXERCCIOS

89

Exerccios
1. Sejam G e H grupos e : G H uma aplicao. Mostre que se sobrejetiva e se
(g1 g2 ) = (g1 )(g2 ),
ento leva o elemento neutro de G no elemento neutro de H.
2. Sejam G e H grupos e : G H um homomorfismo de grupos. Mostre que
o ncleo e a imagem de so subgrupos de G e H, respectivamente.

3. Sejam G e H grupos e : G H um isomorfismo de grupos. Mostre que a


aplicao inversa de tambm um isomorfismo de grupos.

4. Sejam G e H grupos e : G H um homomorfismo de grupos. Mostre que,


se for injetivo, ento, para todo g G, a ordem de g coincide com a ordem
de (g).
5. O objetivo deste exerccio mostrar que o resultado do exerccio anterior
falso quando um homomorfismo que no injetivo.
(a) Calcule ordem de 2 em U(9).
(b) Calcule ordem de 2 em U(3).
(c) Mostre que a ordem de 2 em U(9) maior que a ordem de 9,3 (2).
9,3 a aplicao definida na pgina 74.

6. Sejam G e H grupos e : G H um isomorfismo de grupos. Mostre que G


cclico se, e somente se, H cclico.
S UGESTO : mostre que um gerador de G levado por em um gerador de
H e vice-versa.
7. Usando o exerccio 6 e o isomorfismo definido na seo 2, ache geradores
para os grupos P(5, 11) e P(3, 13).
8. Calcule (125), (16200) e (10!).
9. Seja n um inteiro positivo e p um fator primo de n.
(a) Mostre que p 1 divide (n).
(b) Mostre que pode acontecer que p no divida (n).
(c) Mostre que p < (n).
10. Determine os valores de n para os quais (n) = 18. Faa o mesmo para
(n) = 10 e (n) = 14.
11. Mostre que se (n) um nmero primo ento n = 3, 4 ou 6.

90

4. COMPARANDO GRUPOS

12. Seja k um inteiro positivo. Os exerccios anteriores ilustram bem as dificuldades de resolver a equao (n) = k. Curiosamente, h um algoritmo
relativamente simples para resolver n(n) = k. Seja k = n(n) e suponhamos que p o maior primo que divide k. Mostre que:
(a) O maior primo que divide n menor ou igual a p.
(b) O expoente de p na fatorao de n(n) tem que ser mpar.
Conclumos de (b) que se p tem expoente par na fatorao de k, ento a
equao k = n(n) no tem soluo. Suponhamos, ento, que p tem expoente mpar na fatorao de k. Se um tal n existe, podemos escrev-lo na
forma n = pe c, onde mdc(c, p) = 1, temos que
k = n(n) = p2e1 (p 1)c(c).

Podemos usar isto para calcular e, uma vez que conhecemos o expoente de
p na fatorao de k. Uma vez encontrado e, podemos escrever
k
= c(c),
2e1
p
(p 1)
e usar o mesmo mtodo para achar o maior primo que divide c. Por que
que este algoritmo pra?
13. Mostre que, se n um inteiro positivo que satisfaz (n) = n 1, ento n
primo.
14. Escrevendo n = 2k r, onde r um nmero mpar, mostre que se (n) = n/2
ento n uma potncia de 2.
15. Mostre que se m divide n ento (mn) = m(n).
16. Seja p > 0 um nmero primo e r um inteiro positivo. Use o teorema de
Euler, aplicado a pr para mostrar que pr um pseudoprimo para a base b
se, e somente se, bp1 1 (mod pr ).
17. Use o exerccio anterior para mostrar que 10932 um pseudoprimo para a
base 2.
18. Escreva um programa, baseado no exerccio 16, para determinar os pseudoprimos para a base 2 da forma p2 , onde p um primo menor ou igual a
r > 0.

CAPTULO 5

Testes de primalidade
Neste captulo vamos explorar alguns testes de primalidade, todos eles
baseados no trabalho de douard Lucas, que j encontramos no captulo ???
como inventor do jogo das torres de Hanoi. Comearemos com um resultado da
teoria de grupos que, aplicado ao grupo dos inversveis mdulo um primo e
equao de Pell modular produzem, respectivamente, o teste de Lucas para primos em geral e o teste de Lucas-Lehmer para primos de Mersenne. Nas sees
seguintes analisamos uma variante do teste de Lucas introduzida por Brilhart,
Lehmer e Selfridge em 1975 e a recproca do teste de Lucas-Lehmer. Encerrarmos o captulo provando um resultado, devido a Gauss, que explica porque o
teste de Lucas sempre funciona, ao menos se tivermos nossa disposio um
tempo infinitamente grande.
1. Os testes de Lucas e Lucas-Lehmer
Iniciaremos a seo discutindo um resultado da teoria de grupos que ser
usado para provar os testes de Lucas e de Lucas-Lehmer. Suponhamos que G
um grupo e seja e seu elemento neutro. Digamos que queremos determinar se
g G tem ou no ordem igual a m. Observe que estamos supondo que temos
um candidato ordem de g, queremos apenas confirmar se este candidato
mesmo a ordem desejada. Em particular, o critrio que exploraremos a seguir
no prov um algoritmo capaz de determinar a ordem de um elemento em um
grupo.
A primeira coisa a fazer verificar se gm = e. Se isto no ocorrer, ento no
h a menor chance de m ser a ordem de g. Por outro lado, mesmo que gm = e,
no podemos afirmar que g tem ordem m; a nica coisa que o lema chave nos
permite deduzir disto que a ordem de g divide m. Portanto, se k for a ordem
de g e gm = e, temos que
m = kc,
em que o cofator c um inteiro positivo. Mas k s pode ser menor que m se seu
cofator c for maior que 1. Contudo, segundo o teorema da fatorao nica, todo
inteiro maior ou igual a 2 admite um fator primo. Digamos, ento, que c > 1 e
91

92

5. TESTES DE PRIMALIDADE

que p 2 um fator primo de c. Como p divide c, podemos escrever


c = pd

para algum inteiro d > 0, de modo que


m
= kd.
p
Neste caso,
gm/p = gkd = (gk )d = e.
Logo, se g tem ordem menor que m, ento gm/p = e para algum fator primo p > 0
de m. Formulando tudo o que aprendemos acima de maneira mais sistemtica,
obtemos o seguinte critrio.
Critrio (ordem de um elemento). Um elemento g de um grupo G tem ordem
m se
gm = e mas gm/p 6= e
para todos os fatores primos p de m.
O teste de Lucas uma aplicao imediata deste critrio ao caso em que G
o grupo dos inteiros mdulares inversveis.
Teste de Lucas. Sejam b e n nmeros inteiros maiores que 1. Se
(1) bn1 1 (mod n);

(2) b(n1)/p 6 1 (mod n),


para todo fator p de n 1, ento n um nmero primo.
D EMONSTRAO. Segue da condio (1) que o inteiro b admite ordem mdulo n. Logo, pela proposio ????, do captulo sobre aritmtica modular, a
classe de b em Zn tem que ser invertvel. Assim, b U(n). Contudo, pelo
critrio acima, as condies (1) e (2) implicam que b tem ordem igual a n 1.
Mas isto significa que b tem n 1 potncias distintas, todas elas contidas em
U(n). Portanto,
n 1 #U(n).
Combinando a desigualdade acima com o fato de que #U(n) n 1, podemos
concluir que #U(n) = n 1. Acontece que isto significa que todas as classes no
nulas de inteiros mdulo n tm que ter representantes primos com n. Como
isto s pode acontecer se n no tiver fatores prprios, podemos concluir que n
primo, confirmando que o teste realmente funciona.


1. OS TESTES DE LUCAS E LUCAS-LEHMER

93

Os testes anteriores detectavam com certeza apenas nmeros compostos.


Este teste determina com certeza se um dado nmero primo. Mas observe
que, para aplic-lo com sucesso, precisamos ser capazes de fatorar n 1. De
fato, a segunda equao do teste tem que ser verificada para cada fator primo
de n1. Na prtica h muitos primos interessantes para os quais esta condio
facilmente verificada. Um exemplo so os fatores primos dos nmeros de
Fermat. Alm disso, no h um mtodo eficiente para escolher a base b; mas
isto no muito surpreendente, afinal o teste forte de composio padecia do
mesmo mal.
Vejamos o que acontece quando aplicamos o teste de Lucas ao nmero
R(19) = 1111111111111111111
|
{z
}.
19

Para comear, precisamos primeiro achar a fatorao completa de R(19) 1.


Fazendo isto, obtemos
R(19) 1 = 2 32 5 7 11 13 19 37 52579 333667.
Nossa primeira escolha de base ser b = 2. Usando um sistema de computao
algbrica, fcil verificar que
2R(19)1 1 (mod R(19)).
Mas, infelizmente,
2(R(19)1)/2 1 (mod R(19)).
Assim a condio (2) do teste de Lucas falha para b = 2 e p = 2. Portanto, 2
no uma boa escolha de base.
Em seguida escolhemos b = 3. Usando novamente um sistema de computao algbrica, descobrimos que
3R(19)1 1 (mod R(19));
de modo que a condio (1) do teste de Lucas vale. Precisamos agora calcular
as formas reduzidas de
3(R(19)1)/p
mdulo R(19) para cada um dos primos p que aparecem na fatorao de R(19)
1. Este o contedo da seguinte tabela.

94

5. TESTES DE PRIMALIDADE

Fator primo p Resto de 3(R(19)1)/p por R(19)


2
R(19) 1
3
933000903779960656
5
97919522321038174
7
742392324159673027
11
920873402557886628
13
114592042672083983
19
1011
37
397724716798816350
52579
760105763664485871
333667
555602369615218524
Assim a condio (2) do teste de Lucas vale para cada um dos fatores primos
de R(19) 1. Portanto, R(19) , de fato, um nmero primo.
S se conhecem 5 primos da forma R(n). O primeiro R(2) = 11, e o segundo
R(19). Os outro so R(23), R(317) e R(1031). No difcil provar que R(23)
primo usando uma verso melhorada do teste de Lucas que vamos descrever
na prxima seo.
O teste de Lucas tambm excelente para nmeros de Fermat, j que
F(k) 1 tem apenas 2 como fator primo. Para estes nmeros temos o seguinte
resultado devido a Jean Franois Thophile Pepin (1826-1904).
Teste de Pepin O nmero de Fermat F(k) primo, para k > 1 se, e somente se,
5(F(k)1)/2 1

(mod F(k)).

Segue diretamente do teste de Lucas que, se a equao acima vale, ento


F(k) primo. A recproca vai ficar para a seo 3, onde provaremos o critrio
de Euler, que usado para determinar se um dado nmero ou no resduo
quadrtico mdulo um primo. A grande vantagem do teste de Ppin que
os clculos necessrios para aplic-lo so fceis de executar porque envolvem
apenas calcular o quadrado de nmeros mdulo F(k), e isto se faz rapidamente.
Por exemplo, como
F(15) 1
215
=
= 214 ,
2
2

1. OS TESTES DE LUCAS E LUCAS-LEHMER

95

ento, para aplicar o Teste de Pepin a F(15), precisamos calcular o resto da


15
diviso de 52 por F(15). Utilizando o A XIOM para fazer as contas, verificamos
que o resto um nmero com 9863 algarismos (decimais), ao passo que F(15)1
tem um algarismo a mais. Portanto,
15

52 70883540033298 1883849529 6 1

(mod F(15));

o que nos permite concluir que F(15) composto.

Finalizamos a seo aplicando o critrio para provar o teste de Lucas-Lehmer,


que nos pemite determinar se um nmero de Mersenne, cujo expoente primo,
ou no um nmero primo. Lembre-se que um nmero de Mersenne cujo expoente composto necessariamente, ele prprio, um nmero composto; veja a
seo ??? do captulo ???. A verso do teste que discutimos nesta seo a mais
simples possvel diante do que j sabemos sobre o grupo P(d, p). Uma verso
mais apropriada para a implementao pode ser encontrada seo 3.
Teste de Lucas-Lehmer. Seja p > 2 um primo. Se Q = (2, 1) U(3, 2p 1)
satisfaz
p1
Q2 = (1, 0)
em U(3, 2p 1), ento 2p 1 um nmero primo.
D EMONSTRAO. Seja q um fator primo de 2p 1 e considere a aplicao
2p 1,q : U(3, 2p 1) U(3, q)

que leva um ponto P de U(3, 2p 1) no ponto de U(3, q), cujas coordenadas tm


os mesmos representantes que as coordenadas de P. Como vimos na seo 1 do
captulo 4, = 2p 1,q um homomorfismo de grupos. Portanto, se Q0 = (Q),
ento
p1
p1
Q02 = (Q2 ) = (1, 0) = (1, 0)
em U(3, q). Contudo,
p1

Q02

= (1, 0)

implica que

Q20 = (1, 0)

em U(3, q). Logo, pelo critrio da seo 1, podemos afirmar que Q0 tem ordem
2p em U(3, q). Mas,
Q0 = (2, 1)
soluo de x2 3y2 = 1 mdulo q. Logo, Q0 um elemento de ordem 2p
em P(3, q). Portanto, pelo teorema de Lagrange, 2p tem que dividir a ordem
de P(3, q). Pela frmula (55) da pgina 80, h dois casos a considerar, dependendo se 3 for ou no resduo quadrtico mdulo q. No caso em que 3 resduo
quadrtico, teramos que 2p divide q 1; o que no possvel pois q , por

96

5. TESTES DE PRIMALIDADE

hiptese, fator primo de M(p) = 2p 1 < 2p . Portanto, 3 no pode ser resduo


quadrtico mdulo q. Neste caso, 2p deve dividir
#P(3, q) = q + 1.
Como q fator primo de 2p 1, isto s possvel se q = 2p 1; em particular,
2p 1 tem que ser primo, como queramos mostrar.

A despeito de no ser a implementao mais eficiente do teste de LucasLehmer, a verso acima bastante poderosa. Por exemplo, Harry Lewis Nelson
e David Slowinski precisaram, em 1979, de um supercomputador Cray 1 para
achar o primo de Mersenne M(44497), que tem 13395 algarismos. Hoje em dia
um notebook com um processador de 1.60GHz e 3.8GiB de RAM leva cerca de
cerca de 2 minutos e 30 segundos para confirmar que M(44497) mesmo primo,
usando o algoritmo acima implementado, no A XIOM.
2. O teste de Brilhart, Lehmer e Selfridge
Faamos um exemplo, bem simples, para ilustrar uma das dificuldades na
aplicao do teste de Lucas. Digamos que queremos us-lo para verificar que
n = 41 primo. Comeamos fatorando n1 = 40, obtendo n1 = 23 5. Portanto
precisamos achar um inteiro b tal que 2 b 40 e que tambm satisfaa a
cada uma das equaes abaixo:
b40 1 (mod 41)

b20 6 1 (mod 41)

b8 6 1 (mod 41).

Comeamos com b = 2, mas logo verificamos que 220 1 (mod 41). Passamos
a b = 3, mas embora 320 40 (mod 41), temos 38 1 (mod 41). Para tornar
as coisas mais exasperantes, 28 10 (mod 41). Neste caso, bases diferentes
satisfazem as equaes que advm de fatores diferentes de n 1. Infelizmente
o teste requer que uma nica base satisfaa a todas as equaes. Para 41 a
menor destas bases 7.
Em 1975 Brilhart, Lehmer e Selfridge observaram que no necessrio usar
uma base nica no teste de Lucas. Podemos nos dar ao luxo de escolher uma
base distinta para cada primo. Com isto obtemos um teste um pouco mais
eficiente.
Teste de Primalidade. Seja n > 0 um inteiro tal que
n 1 = pe11 . . . per r

2. O TESTE DE BRILHART, LEHMER E SELFRIDGE

97

onde p1 < < pr so primos. Se, para cada i = 1, . . . , r existirem inteiros


positivos bi (2 bi n 1) que satisfaam
bin1 1 (mod n)

(n1)/pi

bi
ento n primo.

6 1 (mod n),

No necessrio que os bi s sejam todos distintos. Vejamos porque estas


equaes foram a que n seja primo.
Vamos considerar o caso i = 1, o mesmo se aplica a i = 2, . . . , r. Em primeiro
lugar precisamos calcular a ordem s1 de b1 em U(n). Segue do lema chave e da
equao b1n1 1 (mod n) que s1 divide n 1. Logo os primos que aparecem na
fatorao de s1 esto entre os primos p1 , . . . , pr . Assim
s1 = pk1 1 . . . pkr r
onde k1 e1 , . . . , kr er .
(n1)/p1

Por outro lado, sabemos que b1


1)/p1 no divisvel por s1 . Mas

6 1 (mod n). Isto significa que (n

(n 1)/p1 = p1e1 1 pe22 . . . per r


Comparando com a fatorao de s1 vemos que a nica maneira de s1 no dividir
(n 1)/p1 que k1 = e1 . Em outras palavras, pe11 divide s1 .
No podemos perder de vista que s1 a ordem de b1 em U(n). Pelo teorema
de Lagrange, s1 divide a ordem de U(n); isto , s1 divide (n). Logo pe11 divide
s1 que divide (n): portanto pe11 divide (n).
Como as contas acima se aplicam tambm a i = 2, . . . , r conclumos que
as equaes do teste implicam que pe11 , pe22 , . . . , per r dividem (n). Mas estes
nmeros so potncias de primos distintos, logo primos entre si. Assim, pelo
lema da seo 6 do captulo 2, o produto
pe11 . . . per r = n 1
tambm divide (n). Como (n) n 1 resta apenas que (n) = n 1, e isto
suficiente para garantir que n primo.
Finalmente vamos reunir tudo o que aprendemos numa estratgia para verificar primalidade. Suponhamos que temos um nmero mpar n, muito grande,
e queremos saber se primo:
(1) Verificamos, por tentativa, se n divisvel pelos primos at 5000.

98

5. TESTES DE PRIMALIDADE

(2) Supondo que n no divisvel por estes primos, obtivemos um estoque


de bases para aplicar o teste de Miller.
(3) Supondo que n passou no teste de Miller para todas estas bases, tentamos finalmente aplicar o teste descrito acima.
3. A recproca do teste de Lucas-Lehmer
Ainda h duas coisas por fazer para completarmos nosso estudo do teste de
Lucas-Lehmer. A primeira, consiste em mostrar que a recproca do teste enunciado na seo 1 verdadeira e a segunda em enunciar o teste de uma maneira
mais apropriada sua implementao. Para isto, porm, precisamos de alguns resultados adicionais sobre resduos quadrticos, o primeiro dos quais
o seguinte critrio, provado por Euler em 1748.
Critrio de Euler. Se p > 0 um primo mpar e b um inteiro positivo que
no divisvel por p, ento

1 (mod p)
se b for resduo quadrtico mdulo p
b(p1)/2
1 (mod p)
se b no for resduo quadrtico mdulo p

D EMONSTRAO. Temos, pelo teorema de Fermat, que


(b(p1)/2 )2 bp1 1 (mod p).

Como a equao quadrtica x2 1 (mod p) s pode ter as solues x 1


(mod p), podemos concluir que
b(p1)/2 1

(mod p).

Portanto, para provar o critrio, basta mostrar que b um resduo quadrtico


mdulo p se, e somente se b(p1)/2 1 (mod p).
Suponhamos que b seja um resduo quadrtico mdulo p. Neste caso
b a2

(mod p)

para algum nmero inteiro positivo a. Mas isto implica que


b(p1)/2 (a2 )(p1)/2 ap1 1 (mod p),

em que a ltima congruncia consequncia do teorema de Fermat. Para


provar a recproca, usaremos o teorema da raiz primitiva, segundo o qual o
grupo U(p) cclico. Digamos que g seja um gerador de U(p) e que
b gm

(mod p),

3. A RECPROCA DO TESTE DE LUCAS-LEHMER

99

em que m um inteiro positivo. Se


ento

b(p1)/2 1 (mod p)

gm(p1)/2 1 (mod p).


Logo, pelo lema chave, p 1 divide m(p 1)/2; isto
m(p 1)
= (p 1)
2
para algum inteiro positivo . Cancelando p 1 e multiplicando a igualdade
por 2, conclumos que m = 2. Mas isto implica que
b gm (g )2

(mod p)

um resduo quadrtico, como precisvamos mostrar.

Vejamos como usar o critrio de Euler para provar que 3 no um resduo


quadrtico relativamente aos primos que deixam resto 7 na diviso por 12. A
razo para considerarmos estes primos que
(59)

22n+1 1 (4n 2) 1 7 (mod 12);

pois 4n 4 (mod 12) qualquer que seja o inteiro n > 1.

P ROPOSIO 3.1. Se p = 12m + 7 um nmero primo para algum inteiro


positivo m, ento 3 no um resduo quadrtico mdulo p
D EMONSTRAO. Como U(p) tem p 1 = 12m + 6 elementos,
M = {1, . . . , 6m + 3}
contm metade dos elementos de U(p). Alm disso, se a M, ento
a = p a
/M

pois 1 a 6m + 3 implica que

6m + 4 < p a 12m + 6.

Como o mdc(12m + 7, 3) = 1, o produto 3 a pertence a U(p) para cada 1 a


6m + 3. Logo,
3 a M ou 3 a M.
Precisamos determinar quais so os elementos de M para os quais cada um
destes dois casos ocorre. Levando em conta que
p1
3(2m + 1) = 6m + 3 =
2
temos que
3aM

100

5. TESTES DE PRIMALIDADE

para todo 1 a 2m + 1. Considerando, agora, o caso em que 2m + 1 < a


4m + 2, podemos escrever
a = 4m + 2 k
com 0 k < 2m + 1, donde
3a = 12m + 6 3k = p 1 3k = p (3k + 1)

de modo que, neste caso,


3 a = 3k + 1 M,
pois 0 k < 2m + 1. Finalmente, se
a = (4m + 2) + k

com 1 k 2m + 1, ento

3 a = 12m + 6 + 3k = 3k 1 M,

para estes valores de k. Resumindo, descobrimos que

quando j = 0
3k
3 j + k = (3k + 1) quando j = 2m + 1

3k 1
quando j = 4m + 2,

para 1 k 2m + 1. Mas isto significa que

(3 1) (3 6m + 3)

igual a
2m+1
Y
k=1

Logo,

3k

2m+1
Y
k=1

(3k + 1)

2m+1
Y
k=1

3k 1 = (1)2m+1 (1 6m + 2).

6m+3

3
(1 6m + 2) = (1)(1 6m + 2),
pois 2m + 1 mpar. Cancelando os termos comuns, obtemos
3

2m+1

= 1

de modo que, pelo critrio de Euler, 3 no um resduo quadrtico.

To be continued...

Referncias Bibliogrficas
[1] W. R.Alford, A. Granville e C. Pomerance, There are infinitely many Carmichael numbers,
Ann. of Math. 140 (1994), 703722.
[2] F. Arnault, Constructing Carmichael numbers which are strong pseudoprimes to several
bases, J. Symbolic Computation, 20 (1995), 151161.
[3] M. Artin, Algebra, Prentice-Hall, Englewood Cliffs, (1991).
[4] C. B. Boyer, Histria da Matemtica, traduzido por E.F. Gomide, Editora Edgar-Blcher,
So Paulo, (1994).
[5] D. M. Bressoud, Factorization and primality testing, Undergraduate Texts in Mathematics,
Springer-Verlag, New York (1999).
[6] R. D. Carmichael On composite numbers P which satisfy the Fermat congruence aP1 1
(mod P), Amer. Math. Monthly 19 (1912), 2227.
[7] D. Cox, J. Little, e D. OShea, Ideals, varieties and algorithms: an introduction to computation algebraic geometry and commutative algebra, Undergraduate Texts in Mathematics,
Springer-Verlag, New York (1992).
[8] J. H. Davenport, Y. Siret e E. Tournier, Computer Algebra: systems and algorithms for
algebraic computation, translated by A. Davenport and J.H. Davenport, Academic Press,
London (1998).
[9] M. Davis, What is computation?, in Mathematics Today, editado por L. A. Steen, Vintage
Books, New York (1980), 241267.
[10] L. E. Dickson, A history of the theory of numbers, Chelsea Publishing Company, New York,
(1952).
[11] H. M. Edwards, Fermats last theorem, Graduate Texts in Mathematics 50, SpringerVerlag, New York (1977).
[12] H. M. Edwards, Galois theory, Graduate Texts in Mathematics 101, Springer-Verlag, New
York (1984).
[13] Pierre de Fermat, Oeuvres de Fermat, editada por Paul Tannery e Charles Henry, volume
III, Gauthier-Villars (1896).
[14] R. P. Feynman, QED: the strange theory of light and matter, Princeton University Press,
Princeton (1985).
101

102

REFERNCIAS BIBLIOGRFICAS

[15] C. F. Gauss, Disquitiones Arithmetic, translated by A.A. Clarke, revised by W.C. Waterhouse with the help of C. Greither e A.W. Grotendorst, Springer-Verlag, New York (1986).
[16] P. Giblin, Primes and programming, Cambridge University Press, Cambridge (1993).
[17] A. Gonalves, Introduo lgebra, Projeto Euclides, IMPA, Rio de Janeiro (1979).
[18] G. B. Gostin, New factors of Fermat numbers, Math. of Comp. 64 (1995), 393395.
[19] G. H. Hardy, e E.M. Wright, An introduction to the theory of numbers, quinta edio,
Oxford Science Publications, Oxford University Press, Oxford (1994).
[20] A. Hefez, Curso de lgebra, vol. 1, Coleo Matemtica Universitria, IMPA, Rio de
Janeiro (1993).
[21] A. E. Ingham, The distribution of primes, Cambridge University Press, Cambridge
(1932).
[22] D. E. Knuth, The Art of computer programming, vol. 2, Seminumerical algorithms, segunda edio, Addison-Wesley Publishing Company, Reading (1981).
[23] N. Koblitz, A course in number theory and cryptography, Graduate Texts in Mathematics
97, Springer-Verlag, New York (1987).
[24] E. Kranakis, Primality and criptography, Wiley-Teubner series in Computer Science, B.G.
Teubner e J. Wiley & Sons (1986).
[25] M. Lemos, Criptografia, nmeros primos e algoritmos, 17 Colquio Brasileiro de Matemtica, IMPA/CNPq (1989).
[26] A. K. Lenstra, H. W. Lenstra jr, M. S. Manasse e J. M. Pollard, The factorization of the
ninth Fermat number, Math. of Comp., 61 (1993), 319349.
[27] C. Pomerance, A tale of two sieves, Notices of the Amer. Math. Soc., 43(12) (1996), 1473
1485.
[28] S. Ramanujan, Collected papers of Srinivasa Ramanujan, editado por G. H. Hardy, P. V.
Seshu Aiyar e B. M. Wilson, Cambridge University Press, Cambridge (1927).
[29] H. Riesel, Prime numbers and computer methods of factorization, second edition, Progress
in Mathematics 126, Birkhuser, Boston (1994).
[30] R. L. Rivest, A. Shamir e L. Adleman, A method for obtaining digital signatures and
public-key cryptosystems, Comm. ACM, 21 (1978), 120126.
[31] P.W. Shor, Algorithms for quantum computation: discrete logarithms and factoring, in
Proceedings of 35th Annual Symposium on Foundations of Computer Science, IEEE Computer Science Press (1994), 124134.
[32] J. H. Silverman e J. Tate, Rational points on elliptic curves, Undergraduate Texts in Mathematics, Springer-Verlag, New York (1992) .
[33] B. L. van der Waerden, A history of algebra, Springer-Verlag, Berlin-Heidelberg (1985).

REFERNCIAS BIBLIOGRFICAS

103

[34] J. F. Voloch, A distribuio dos nmeros primos, Matemtica Universitria, nmero 06


(1987), 7182.
[35] A. Weil, Number theory: an approach through history, Birkhuser, Boston (1987) .
[36] H. Weyl, Symmetry, Princeton University Press, Princeton (1982) .