Квант

4

Н. Виленкин

Сравнения и классы вычетов

Многим любитляем математики известна следующая задача:

Обезьяна и орехи

Пять путешествников остановились на почlee. Они взели с собой мешок орехов и обезьяну. Ноую один из них проснулся, подошел к мешку и разделил орехи на 5 равных частей, причем один орех остался линим. Он отдал обезьяне линим орех, съел свою долю и снова лезла спать. Помом проснулся второй путешествник и, не зная о поступке первого, продолжало то же самое. Помом это же сделали по очереди остальные три путешествника. Когда утром оставился орехи разделил на 5 равных частей, снова остался орех для обезьяны. Сколько было орехов?

Вся трудность этой задачи в лишних орехах, без них ответом послужило бы любое число, которое можно шесть раз делить без остатка на 5, то есть любое число, кратное 56=156255^6 = 15625. А из-за того, что каждый раз деление произходило с остатком, задачу решить куда труднее. Замечательное решение придумал в сту-

денческие годы знакомый английский физик Дирак. Он решил найти число орехов, которое бы … не менялось при описанной операции (делении на пять частей с выделением ореха обезьяне и подадении одной части). Читатель, несомненно, сказал, что такого числа орехов быть не может — ясно, что после этой операции оно должно уменьшиться. Но все дело в том, что Дирак не ограничивал себя натуральными числами. А тогда ему осталось решить уравнение 45(x−1)=x\frac{4}{5}(x-1)=x. Корнем этого уравнения является число —4. Поэтому число —4 могло бы быть решением нашей задачи, но по ее смыслу, конечно, не годится. Зато теперь ясно, как получить положительный ответ: надо к числу —4, найденному Дираком, прибавить 565^6. Проверьте, что ответ 15 621 удовлетворяет условию задачи. Впрочем, ему удовлетворяет и каждое число вида —4 + 56⋅k5^6 \cdot k, где kk — любое натуральное число.

Что такое сравнимые числа

Если ответься от требования положительных решения, то любое число вида —4 + 56⋅k5^6 \cdot k, где kk — целое, является решением задачи про орехи и обезьяну. Эти числа образуют «двустороннюю арифметическую прогрессию» с разностью 565^6, пространiosoся в обе стороны. У них есть одно общее свойство — при делении на 565^6 все они дают один и тот же остаток 15 621.

5

Про также числа в математике говорят, что они сравнимы друг с другой по modulo*) 15 625.

В общем виде понятие сравнимости по некоторому modulo m∈Nm \in \mathbb{N} можно определить двумя равносильными способами:

О пределене 1. Цельные числа aa и bb называются сравнимыми по modulo mm, если их разность делится без остатка на mm.

О пределене 1’. Цельные числа aa и bb называются сравнимыми по modulo mm, если их остатки при делении на mm oddnakovы*).

Если числа aa и bb сравнимы друг с другом по modulo mm, то пишут так:
a≡b(modm).a \equiv b \pmod{m}.
Например, 16≡30(mod7)16 \equiv 30 \pmod{7}, так как разность 16−30=−1416 - 30 = -14 делится на 7, а 72≠45(mod8)72 \neq 45 \pmod{8}, так как 72−45=2772 - 45 = 27 не делится на 8.

Арифметика остатков

Все числа, сравнимые с числом 2 по modulo 5, одинаково ведут себя при делении на 5 — они дают остаток 2. Объединим эти числа в одно множество и назовем его классом выцелов по modulo 5. Обозначим этот класс той же цифрой 2, только, чтобы отличить его от числа 2, будем писать ее так: 2ˉ\bar{2}. Значит, 2ˉ\bar{2}—не число, а бесконечная совокупность чисел:
2ˉ={...−8,−3,2,7,12,...}\bar{2} = \{... -8, -3, 2, 7, 12, ...\}
Так же определяется класс выцелов по любому modulo mm. При делении на mm могут получиться mm различных остатков: 0, 1, 2, …, m−1m - 1. Каждому из них соответствует свой класс выцелов. Остатку rr соответствует класс выцелов rˉ\bar{r}, состоящий из чисел вида r+kmr + km, где kk—целое число:
rˉ={r+km∣k∈Z}.\bar{r} = \{r + km \mid k \in \mathbb{Z}\}.
Все множество Z\mathbb{Z} целых чисел распадается на mm классов выцелов по модulo mm. Множество всех этих классов обозначают через Fm:Fm={0,1,...,m−1}F_m : F_m = \{0, 1, ..., m - 1\}. При изучении вопросов, касающихся делимости на mm, лучше иметь дело с конечным множеством FmF_m, чем с бесконечным множеством ZZ.

Чтобы решать задачи про делимость, надо уметь выполнять над классами выцелов аргументические операции. Начнем со сложения. Она определяется очень просто — в каждом из слагаемых (напомним, что класс выцелов есть бесконечное множество целых чисел) берет по представителю и складывает их, а потом смотрит, в какой класс выцелов попала сумма. Его и называют суммой данных классов. Например, сложим классы выцелов 4ˉ\bar{4} и 5ˉ\bar{5} по modulo 6. Для этого выберем в них по представителю. Чтобы долго не думать, возьмем сами остатки 4ˉ\bar{4} и 5ˉ\bar{5}, давшие название классам. Их сумма равна 9. Но 9≡3(mod6)9 \equiv 3 \pmod{6} и потому 4ˉ+5ˉ=3ˉ\bar{4} + \bar{5} = \bar{3}. Если же классы выцелов не в F6F_6, а в F8F_8, то сумма получится иная: 4ˉ+5ˉ=1ˉ\bar{4} + \bar{5} = \bar{1}. А в F9F_9 4ˉ+5ˉ=0ˉ\bar{4} + \bar{5} = \bar{0}.

Чтобы покончить с вопросом о сложении классов выцелов, надо еще доказать, что при выборе иных представителей сумма не изменится. Это следует из такой теоремы:

Теорема 1. Если a≡a1(modm)a \equiv a_1 \pmod{m} и b≡b1(modm)b \equiv b_1 \pmod{m}, то a+b≡a1+b1(modm)a + b \equiv a_1 + b_1 \pmod{m}.

Доказательство. Так как a≡a1(modm)a \equiv a_1 \pmod{m}, a=a1+kma = a_1 + km, где k∈Zk \in \mathbb{Z}, а так как b≡b1(modm)b \equiv b_1 \pmod{m}, b=b1+lmb = b_1 + lm, где l∈Zl \in \mathbb{Z}. Поэтому a+b=a1+b1+(k+l)ma + b = a_1 + b_1 + (k + l)m, где k+l∈Zk + l \in \mathbb{Z}, и a+b≡a1+b1(modm)a + b \equiv a_1 + b_1 \pmod{m}.

Мы свели сложение классов выцелов к сложению чисел. Поэтому классов выцелов компутативно и ассоциально, то есть a+b=bˉ+aˉa + b = \bar{b} + \bar{a} и (aˉ+bˉ)+cˉ=aˉ+(bˉ+cˉ)(\bar{a} + \bar{b}) + \bar{c} = \bar{a} + (\bar{b} + \bar{c}), прибавление класса 0ˉ\bar{0} не меняет класса выцелов, то есть aˉ+0ˉ=aˉ\bar{a} + \bar{0} = \bar{a}, и т. д.

Вычитание и умножение классов выцелов определяются точно так же — в классе выцелают по представителю и выполяют операции над ними. И здесь результаты не зависят от выбо-

6

ра представитель (доказите это сами). Более того, справедливо следующие условия:

Если P(x)P(x) — многочлен с целыми коэффициентами uu a≡a1a \equiv a_1 (mod mm), то P(a)≡P(a1)P(a) \equiv P(a_1) (mod mm). Постраайтесь доказать это самостояльно.

Свойства операций вычитания и умножения классов вычитов тоже очень похожи на свойства этих операций для целых чисел (за одним исключением; о нем — ниже).

Задание на делимость

Поскольку классы вычитов по модулю mm текно связаны с остатками от деления на mm, почти все задачи, в которых решить о делимости чисел, удобно решать с помощью сравнения.

Пример 1. Найдем остаток от деления 2121978212^{1978} на 7.

Так как при делении 212 на 7 получается остаток 2, 212≡2212 \equiv 2 (mod 7). Отсюда следует, что 2121978≡21978212^{1978} \equiv 2^{1978} (mod 7). Заметим теперь, что 23=8≡12^3 = 8 \equiv 1 (mod 7). Но 1978 = 659×3+1659 \times 3 + 1. Значит, из 23≡12^3 \equiv 1 (mod 7) следует, что 21978=(23)659⋅2≡1659⋅2=22^{1978} = (2^3)^{659} \cdot 2 \equiv 1^{659} \cdot 2 = 2 (mod 7). Поэтому при делении 2121978212^{1978} на 7 получится остаток 2.

Пример 2. Выведем признак делимости на 9.

Так как 10≡110 \equiv 1 (mod 9), для любого kk имеем 10k≡110^k \equiv 1 (mod 9). Но тогда

a0⋅10n+a1⋅10n−1+⋯+an≡a0+a1+⋯+an(mod9).a_0 \cdot 10^n + a_1 \cdot 10^{n-1} + \dots + a_n \equiv a_0 + a_1 + \dots + a_n \pmod{9}.

Это значит, что числа N=a0⋅10n+⋯+anN = a_0 \cdot 10^n + \dots + a_n и M=a0+⋯+anM = a_0 + \dots + a_n имеют одинаковые остатки при делении на 9. В частности, NN делится на 9 в том и только в том случае, когда на 9 делится число MM (сумма цифр числа NN).

Пример 3. Доказем, что квадрат любого натурального числа либо делится на 9, либо даем при делении на 3 остаток 1.

В самом деле, если x≡0x \equiv 0 (mod 3), то x2x^2 делится на 9. Если же x≡1x \equiv 1 (mod 3) или x≡2x \equiv 2 (mod 3), то x2≡1x^2 \equiv 1 (mod 3), так как 12=11^2 = 1 и 22=4≡12^2 = 4 \equiv 1 (mod 3).

Пример 4. Найдем последнюю цифру числа 7717^{71}

Нам надо найти остаток от деления числа 7777^{77} на 10. Но 72=49≡−17^2 = 49 \equiv -1 (mod 10), и потому 74≡(−1)2≡17^4 \equiv (-1)^2 \equiv 1 (mod 10). Найдем остаток от деления показателя 777^7 на 4. Так как 7≡−17 \equiv -1 (mod 4), 77≡(−1)7≡−1≡37^7 \equiv (-1)^7 \equiv -1 \equiv 3 (mod 4), и потому 77=4m+37^7 = 4m + 3. Следовательно, 777=(74)m⋅73≡(−3)3≡−27≡37^{77} = (7^4)^m \cdot 7^3 \equiv (-3)^3 \equiv -27 \equiv 3 (mod 10). Это значит, что у чисел 7777^{77} и 3 одинакова последняя цифра, то есть 7777^{77} кончается на 3.

Деление классов вычитов

Разделить класс вычитов bˉ\bar{b} на класс вычитов aˉ\bar{a} — значит найти такой класс вычитов xˉ\bar{x}, что axˉ=bˉ\bar{ax} = \bar{b}. Для целых чисел задача деления разрешима не всегда, но уже она решается, то единственный образом. Это связано с тем, что произведение двух целых чисел равно нулю лишь в случае, когда хотя один из множителей равен нулю. Но в FmF_m делится не так. Взглянув на таблицу умножения для F6F_6, заменаем, что нули строят в ней не только в первой строке и первой столбце (там, где один из множителей равен нулю).

Нулю равны и произведение 2ˉ⋅3ˉ\bar{2} \cdot \bar{3}, 3ˉ⋅4ˉ\bar{3} \cdot \bar{4}, хотя множители отличны от нуля. Как говорят, в F6F_6 есть делители нуля (класс вычитов aˉ\bar{a} называется делителем нуля, если он отличен от 0, но существует такой класс bˉ≠0ˉ\bar{b} \neq \bar{0}, что aˉ⋅bˉ=0ˉ\bar{a} \cdot \bar{b} = \bar{0}). В F6F_6 делители нуля оказывается взаимно простыми с моделем 6. Это называет на мысль о справедливости следующей теоремы:

| | 0ˉ\bar{0} | 1ˉ\bar{1} | 2ˉ\bar{2} | 3ˉ\bar{3} | 4ˉ\bar{4} | 5ˉ\bar{5} |
| :— | :— | :— | :— | :— | :— | :— |
| 0ˉ\bar{0} | 0ˉ\bar{0} | 0ˉ\bar{0} | 0ˉ\bar{0} | 0ˉ\bar{0} | 0ˉ\bar{0} | 0ˉ\bar{0} |
| 1ˉ\bar{1} | 1ˉ\bar{1} | 2ˉ\bar{2} | 3ˉ\bar{3} | 4ˉ\bar{4} | 5ˉ\bar{5} | 5ˉ\bar{5} |
| 2ˉ\bar{2} | 0ˉ\bar{0} | 2ˉ\bar{2} | 4ˉ\bar{4} | 0ˉ\bar{0} | 2ˉ\bar{2} | 4ˉ\bar{4} |
| 3ˉ\bar{3} | 0ˉ\bar{0} | 3ˉ\bar{3} | 0ˉ\bar{0} | 3ˉ\bar{3} | 0ˉ\bar{0} | 3ˉ\bar{3} |
| 4ˉ\bar{4} | 0ˉ\bar{0} | 4ˉ\bar{4} | 2ˉ\bar{2} | 0ˉ\bar{0} | 4ˉ\bar{4} | 2ˉ\bar{2} |
| 5ˉ\bar{5} | 0ˉ\bar{0} | 5ˉ\bar{5} | 4ˉ\bar{4} | 3ˉ\bar{3} | 2ˉ\bar{2} | 1ˉ\bar{1} |

7

Теорема 2. Класс вычетов aa в FmF_m не является делительом нуля в том и только в том случае, когда aa и mm взаимно просты.

Доказательство. Пусть aa и mm взаимно просты. Если a⋅b=0a \cdot b = 0, то число abab делится на mm. Но, в силу взаимной простоты aa и mm, это может быть лишь в случае, когда bb делится на mm, то есть b=0b = 0. Это и значит, что ab=0ab = 0 лишь при b=0b = 0, то есть что aa не является делительом нуля.

Предположим теперь, что наиболее общий делитель чисел aa и mm отличается от 1, a=a1da = a_1d, m=m1dm = m_1d, d>1d > 1. тогда число m1<mm_1 < m — целое, причем отлично от mm, и потому m1≠0m_1 \neq 0. Но am1=a1dm1=a1mam_1 = a_1dm_1 = a_1m, то есть am1=0am_1 = 0. Значит, aa — делитель нуля.

Если число aa взаимно просто с моделем mm, то все числа из класса вычетов aa взаимно просты с mm. В этом случае говорят, что класс aa взаимно прост с mm.

Из теоремы 2 вытекает важное Следствие 1. Если класс вычетов aa взаимно прост с mm, то в FmF_m можно однозначно делить на aa, то есть для любого b∈Fmb \in F_m уравнение ax=bax = b имеет одно и только одно решение.

Сначала доказаем, что это уравнение не может иметь различных решений. Если ax1=bax_1 = b и ax2=bax_2 = b, то a(x1−x2)=0a(x_1 - x_2) = 0, а так как aa не делитель нуля, то x1−x2=0x_1 - x_2 = 0, то есть x1=x2x_1 = x_2. Значит, решение может быть лишь одно.

Осталось показать, что решение существует.

Мы только что доказали, что средние классов вычетов a⋅0,a⋅1,…,a(m−1)a \cdot 0, a \cdot 1, \ldots, a(m-1) нет одинаковых. Значит, это же классы 0,1,…,m−10, 1, \ldots, m-1, только, возможно, взятые в ином порядке. А тогда для любого класса bb найдется такой класс xx, что a⋅x=ba \cdot x = b.

Подтверждением доказанного следствия может служить таблица умножения по моделю 66 — из нее видно, что только в строках для классов 11 и 55 встречаются все классы вычетов. В других строках есть лишь часть классов: в строках для 22 и 44 классы 0,2,40, 2, 4, а в строке для 33 — классы 00 и 33. Легко понять, как обстоит дело в общем случае:

Следствие 2. Если (a,m)=d∗(a, m) = d^*, то уравнение ax=bax = b имеет решение лишь при условии, что bb делится на dd. В этом случае число решения равно dd.

Представляем читателю доказать это утверждение.

В случае, когда модель уравнения простым числом, можно делить на любой ненулевой класс вычетов — в этом случае все такие классы взаимно просты с моделем. Поэтому, например, в таблице умножения по моделю 5 одна строка состоит из нулей, а остальные содержат по одному разу все классы вычетов.

Теоремы Ферма и Эйлера

В теории чисел очень часто применяется так называемая Малая теорема Ферма:

Теорема 3. Если pp — простое число и aa не делится на pp, то остаток от деления числа ap−1a^{p-1} на pp равен 1.

По-другому ее можно сформулировать следующим образом:

Теорема 3’. Если aa — ненулевой класс вычетов по простому моделю pp, то ap−1=1a^{p-1} = 1.

Доказательство. Так как 0<a<p0 < a < p, а модель pp — простое число, то aa и mm взаимно просты. Поэтому классы вычетов a⋅1,a⋅2,…,a(p−1)a \cdot 1, a \cdot 2, \ldots, a(p-1) являются теми же самыми, что и 1,2,…,p−11, 2, \ldots, p-1, только

∗)*) (a,m)(a, m) — наиболее общий делитель чисел aa и mm.