S. C. Coutinho
Universidade Federal do Rio de Janeiro
ii
c by S. C. Coutinho 2014
Sumrio
Agradecimentos
1
1
3
6
7
10
12
18
21
23
23
29
34
39
44
46
51
51
53
61
64
66
69
73
73
77
80
84
86
89
iii
iv
SUMRIO
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
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
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
0 r < b.
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
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
0 r1
0 r2
0 r3
0 r4
..
.
<b
< r1
< r2
< r3
10
1. ALGORITMOS FUNDAMENTAIS
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.
(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
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
ax + by = c,
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,
(c ) a + (c ) b = c d = c;
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.
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.
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
b = ax0 + by0 ;
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
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
y = (114017 7) k 785431,
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)
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.
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.
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
y0 = 25 28k0 < 0.
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
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 ).
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)
(x1 x2 + dy1 y2 , x1 y2 + y1 x2 )
1. COMPONDO SOLUES
25
1 2 = (x1 x2 + dy1 y2 , x1 y2 + y1 x2 ).
26
2. EQUAO DE PELL
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 ;
1. COMPONDO SOLUES
27
3 = 2 2 .
3 = ( 2 ),
( 2 ) = ( ) 2 ,
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.
28
2. EQUAO DE PELL
x22 dy22 = 1
2. GRUPOS
29
B
b
30
2. EQUAO DE PELL
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
multiplicamos os dois lados da equao pelo inverso de (7, 4) que, pela equao
(16) (7, 4), obtendo
de modo que
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.
2. GRUPOS
33
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
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.
3. ACHANDO SOLUES
35
(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)
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
B1 = Aq B
C1 = A.
Fi = (Fi1 )t
quando
i 1.
xi1 = qi xi + yi
yi1 = xi ,
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
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 );
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 )
39
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(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,
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)
42
2. EQUAO DE PELL
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,
A q B = B
C = A.
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
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
x < x e
0 < y < y.
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.
46
2. EQUAO DE PELL
F1 = 1, , Fk = (1)k
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)
48
2. EQUAO DE PELL
EXERCCIOS
49
ak+ = ak a ,
50
2. EQUAO DE PELL
inteiro }.
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
mdc(a, 2) = 1,
a = p,
53
0 < pk1 .
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
[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)
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 ,
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]
55
(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.
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
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.
a1 b2 = b1 a2 ,
2
a2 (a1 2 d b1 ) = a1 .
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 .
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)
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},
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)?
(P) = a2 db = 0.
59
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).
y = p x.
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)
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
62
3. GRUPOS FINITOS
3. SUBGRUPOS
63
0 i < j.
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.
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
4. O TEOREMA DE LAGRANGE
65
89=7
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 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
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
r1 r2 = t1 t2 hg1 i hg2 i,
EXERCCIOS
69
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
um subgrupo de G.
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
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
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),
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
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.
76
4. COMPARANDO GRUPOS
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
2. ORDEM DE P(d, p)
77
(g1 ) (g2 ) = ,
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 ),
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
(49)
1 (a) 1 (b) =
(P Q0 ) = (P)(Q0) = (Q0),
j que P P(d, p). Logo, temos a igualdade
1 (a) = {P Q0 | P P(d, p)}.
P1 Q0 = P2 Q0
2. ORDEM DE P(d, p)
79
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 .
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 ).
80
4. COMPARANDO GRUPOS
para algum par (x0 , y0 ) P(d, p). Mas, usando (50), obtemos
(x0 qy0 ) = 1,
x0 + qy0 =
x0 qy0 = .
y0 = ( )m.
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 .
cb
(mod n).
c5
(mod 5)
(mod 6).
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 .
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
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
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 .
e que
p2 = (a2 , b2);
m,n (p2 ) = c2
c 1 a1
c 1 b1
(mod m)
(mod n)
c 2 a2
c 2 b2
(mod m)
(mod n).
(mod m)
(mod n).
86
4. COMPARANDO GRUPOS
p2 = (a2 , b2);
(mod m)
(mod n).
donde
(58)
p1 p2 = (1, 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,
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),
1
2
3
4
1
1
7
13
19
5
11
17
23
29
88
4. COMPARANDO GRUPOS
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.
DE
(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.
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
93
94
5. TESTES DE PRIMALIDADE
(mod F(k)).
95
52 70883540033298 1883849529 6 1
(mod F(15));
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
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
97
(n1)/pi
bi
ento n primo.
6 1 (mod n),
98
5. TESTES DE PRIMALIDADE
(mod p).
(mod p)
(mod p),
99
b(p1)/2 1 (mod p)
(mod p)
6m + 4 < p a 12m + 6.
100
5. TESTES DE PRIMALIDADE
com 1 k 2m + 1, ento
3 a = 12m + 6 + 3k = 3k 1 M,
quando j = 0
3k
3 j + k = (3k + 1) quando j = 2m + 1
3k 1
quando j = 4m + 2,
(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
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