§ 1. Основні поняття і теореми
Вступ.
Відображення.
Нехай s дві множини. Припустимо, що кожному елементові множини поставлено у відповідність деякий елемент множини . В такому випадку кажемо, що задана відображення або функцію із множини у множину . Відображення називається ін’єктивним, якщо воно різним аргументам співставляє різні значення: для . Відображення сюр’єктивне, якщо кожен елемент з множини має прообраз–такий елемент , що . Бієктивним є відображення, яке ін’єктивне і сюр’єктивне одночасно. Для двох відображень і їх композиція задається співвідношенням для . Тотожне відображення залишає елементи множини на місці: . Відображення вважається лівим оберненим до відображення за умови, що їх композиція ; і правим оберненим за умови, що . Відображення називається оберненим до , якщо воно є одночасно і лівим, і правим оберненим до .
ТЕОРЕМА ПРО ОБЕРНЕНЕ ВІДОБРАЖЕННЯ.
Відображення ін’єктивне тоді і лише тоді, коли до нього існує ліве обернене.
Відображення сюр’єктивне тоді і лише тоді, коли до нього існує праве обернене.
Якщо відображення бієктивне, то його ліве обернене збігається із правим оберненим.
У випадку, коли множини та скінченні і містять однакову кількість елементів, відображення має ліве обернене тоді і тільки тоді, коли воно має праве обернене.
Б.3. Групи. Групою називається множина , наділена бінарною операцією з такими властивостями:
для будь-яких елементів (асоціативність);
В існує нейтральний елемент такий, що для всіх ;
Для кожного елемента в є обернений елемент такий, що .
Якщо підмножина множини утворює групу відносно тієї ж операції , то вона називається підгрупою групи . Так, множина раціональних чисел утворює групу за додаванням(), а множина цілих чисел є її підгрупою. Множина додатніх раціональних чисел утворює групу за множенням(). Якщо групову операцію називаємо групу за множенням, то саму групу називаємо мультиплікативною, а її нейтральний елемент-одиницею. Якщо ж операцію називаємо додаванням, то групу називаємо адитивною, нейтральний елемент нулем, а обернений елемент-протилежним елементом.
Для елемента групи через позначається його і-тий степінь–елемент , де операція виконана і-1 раз. (В адитивній формі те ж саме записується як ). Нескладною вправою є доведення того, що для кожного елемента скінченної групи для деякого показника виконується рівність . Найменше з таких називається порядком елемента у групі .
Порядком скінченної групи називається кількість її елементів. Легко зауважити, що всі степені елемента групи утворюють у ній підгрупу, порядок якої дорівнює порядку елемента.
ТЕОРЕМА ЛАГРАНЖА(1771).
Порядок підгрупи є дільником порядку групи.
Порядок елемента є дільником порядку групи.
Нехай маємо дві групи і з операціями і відповідно. Кажемо, що відображення зберігає операцію, якщо для всіх . Таке відображення називається гомоморфізмом з групи у групу . Ядром гомоморфізму є множина всіх тих елементів групи , які відображає в нейтральний елемент групи . Наприклад, відображення, яке кожному цілому числу ставить у відповідність його остачу від ділення на натуральне , є гомоморфіізмом із адитивної групи в адитивну групу , ядро якого утворюють цілі числа, кратні . Легко показати, що ядро гомоморфізму утворює в підгрупу.
Гомоморфізм є ін’єктивним тоді і лише тоді, коли його ядро складається тільки із нейтрального елемента групи . Таке ядро називається тривіальним.
Гомоморфізм, який є бієктивним відображенням, називається ізоморфізмом. Дві групи ізоморфні, якщо існує ізоморфізм з однієї з них на іншу. Наприклад, двійковий логарифм задає ізоморфізм із мультиплікативної групи невід’ємних дійсних чисел в адитивну групу всіх дійсних чисел . Ізоморфні групи мають тотожні алгебраїчні властивості.
Для груп s з операціями і відповідно, через позначаємо їх прямий добуток–множину пар , де , із покомпонентним виконанням операцій. А саме, результатом виконання операцій над елементами s множини вважається елемент . Нескладно перевірити, що відносно введеної операції прямий добуток груп є групою.
Група називається комутативною або абелевою, якщо групова операцція володіє властивістю комутативності: для будь-яких елементів та .
Якщо кожен елемент групи є степенем її елемента , то цей елемент називається твірним і кажуть, що він породжує групу . Якщо група має порядок , то є її твірним елементом тоді і лише тоді, коли його порядок теж дорівнює . Група, яка має твірний елемент, називається циклічною. Циклічна група порядку ізоморфна групі , а нескінченна циклічна група–групі .
ТВЕРДЖЕННЯ Б.1. Циклічна група порядку має рівно твірних елементів.
ДОВЕДЕННЯ. Його досить провести для . Покажемо, що породжує тоді і лише тоді, коли числа і взаємно прості. Справді, якщо НСД, то маємо для деяких цілих і . Із цієї рівності випливає, що кожен елемент дорівнює -кратній сумі (можна вважати, що , а інакше коефіціент слід поміняти на його остачу від ділення на ).
Навпаки, якщо НСД і , то в . Отже, порядок не перевищує і не може бути твірним.
4. Група перестановок. Іншим прикладом групи є множина бієктивних відображень множини на себе з операцією композицій. Нейтральним елементом є тотожне відображення , а оберненим елементом до є відображення , обернене до . Бієкцію множини на себе називають ще перестановкою цієї множини. Якщо множина налічує елементів, то очевидним чином група ізоморфна групі . Остання називається симетричною групою степеня і позначається через .
Перестановку із звично записують у вигляді таблички
.
Цикл де різні числа від 1 до ,–це перестановка, яка елемент відображає в , а всі інші елементи самі в себе.називається довжиною циклу. Цикли та незалежні, якщо множини елементів та не перетинаються. Кожна перестановка є композицією (або добутком) попарно незалежних циклів. Наприклад, перестановка

дорівнює добутку (15)(364). Якщо перестановка розкладається в добуток незалежниж циклів з довжинами , то її знак обчислюється за формолою

Знак тотожної перестановки приймається рівним 1.
Група має порядок . Порядок циклу довжини як елемента групи дорівнює . Порядок перестановки, яка є добутком незалежних циклів з довжинами дорівнює НСК цих чисел.
5. Кільця. Кільцем називається множина з двома заданими на ній операціями,+(додавання) та (множення), яка має такі властивості:
Відносно додавання утворює абелеву групу;
Операція множення асоціативна;
Множення дистрибутивне за додаванням, що означає виконання рівностей

для всіх .
Якщо крім того операція множення комутативна, то кільце називається комутативним. називається кільцем з одиницею, якщо в ньому є нейтральний відносно множення елемент. Через 1 позначимо нейтральний елемент для множення, а через 0-для додавання. Прикладом комутативного кільця з одиницею є множина цілих чисел зі звичайним додаванням та множенням. Прикладом некомутативного кільця з одиницею є кільце матриць, яке розглядається нижче.
Елемент кільця з одиницею називається оборотнім справа [зліва], якщо для деякого . Кажуть, що елемент є правим [лівим] оберненим до . Елемент називається оборотнім або дільником одиниці, якщо він оборотній і зліва, і справа. Кожен оборотній елемент має єдиний лівий і правий обернені елементи, які рівні між собою. Цей єдиний елемент називається оберненим до і позначається через . Для оборотних елементів та неважко перевірити рівність . Звідси випливає, що множина всіх оборотних елементів кільця з одиницею утворює групу, яка називається мультиплікативною групою кільця і позначається через . Наприклад, . Зрозуміло, що мультиплікативна група комутативного кільця сама є комутативною.
Відображення називається гомоморфізмом, якщо воно зберігає операції додавання та множення. Для кілець з одиницею повинна виконуватися ще одна умова: має відображати одиниця кільця в одиницю кільця . Ядром гомоморфізму є множина всіх тих елементів кільця , які відображає в нуль кільця . Прикладом гомоморфізму є відображення із в , яке кожному цілому числу ставить у відповідність його остачу від ділення на натуральне . Ядро утворює цілі числа, кратні . Як і у випадку груп, гомоморфізм є ін’єктивним тоді і лише тоді, коли його ядро тривіальне, тобто складається тільки із нуля кільця. Гомоморфізм, який є бієктивним відображенням, називається ізоморфізмом. Кільця і ізоморфні, якщо існує ізоморфізм з на .
Для кілець і через позначаємо їх прямий добуток–множину пар , де із покомпонентним додаванням та множенням. Неважко впевнитись, що прямий добуток кілець є кільцем. Простим наслідком означень є
ТВЕРДЖЕННЯ Б.2. Мультиплікативні групи і ізоморфні.
6. Кільце матриць. У цьому пункті позначає кільце з одиницею. Матрицею розміру над називається індексована сукупність елементів з ,де . Елементи називають коефіцієнтами матриці і звичайно розміщують у вигляді

так що матриця розміру складається із рядків та стовпчиків. Матриця розміру називається вектором-стовпчиком, а розміру –вектором-рядком.
Сумою матриць та однакового розміру є матриця того ж розміру з коефіцієнтами . Пишемо . Добутком матриці розміру на матрицю розміру є матриця розміру з коефіцієнтами . Пишемо . Нескладно перевірити, що операція множення матриць є асоціативною. Результатом множення матриці на елемент є матриця з коефіцієнтами .
Матриця розміру називається квадратною матрицею порядку . Коефіцієнти квадратної матриці називаються діагональними. Квадратні матриці заданого порядку відносно операцій додавання та множення утворюють кільце, яке ми позначаємо . Це кільце з одиницею, в ролі якої виступає одинична матриця , діагональні коефіцієнти якої рівні одиниці кільця , а всі інші–нулю.
ТВЕРДЖЕННЯ 3. Кільця і ізоморфні.
Це означає, що матриці порядку можна розбити на блоки розміру на , після чого додавати і множити такі матриці поблоково.
, мультиплікативна група оборотних матриць, має назву повної лінійної групи і позначається також як .
Далі кільце вважається комутативним.
Визначник квадратної матриці порядку дорівнює наступному виразу:
,
де сумування проводиться за всіма перестановками з , а означає знак перестановки.
ТВЕРДЖЕННЯ 4. Визначник добутку матриць дорівнює добутку їх визначників .
Якщо взяти в останній рівності в якості матрицю , праву обернену до , то отримаємо . Подібна рівність справедлива і для оберненої зліва матриці. Отже,
Якщо матриця оборотна зліва або справа,
то
Алгебраїчним доповненням елемента матриці називається значання , де –визначник матриці, яка отримується із матриці після викреслення її -го рядка та -го стовпчика. Має місце
ФОРМУЛА ОБЕРНЕНОЇ МАТРИЦІ. Для матриці з коефіцієнтами виконується співвідношення . Отже, в матриці , оберненій до , коефіціент з індексами дорівнює (порядок індексів помінявся!).
З формули випливає імплікація, що доповнює (1): якщо, то матриця має обернену. Зафіксуємо отриманий зв’язок у наступному твердженні.
ТВЕРДЖЕННЯ 5.
тоді і лише тоді, коли .
Якщо матриця має прваву або ліву обернену, то вона оборотня, тобто має матрицю, що є одночасно і правою і лівою оберненою.
За твердженням 4 відображення , яке співставляє матриці її визначник є гомоморфізмом мультиплікативних груп. Ядром цього гомоморфізму є підгрупа матриць з визначником 1, яка має назву спеціальної лінійної групи і позначається .
7. Поля. Полем називається множинм з двома заданими на ній операціями +(додавання) та *(множення), яка має такі властивості:
відносно додавання утворює абелеву групу з нейтральним елементом 0;
відносно множення утворює абелеву групу з нейтральним елементом 1;
множення дистрибутивне за додаванням.
ТВЕРДЖЕННЯ 6. Мультиплікативна група скінченного поля є циклічною.
Для повноти наведено і такий факт.
ТЕОРЕМА Гауса. Група є циклічною для значенm де число непарне просте, а натуральне і лише для них.
8. Кільце многочленів. Многочлен (або поліном) степеня від однієї змінної над комутативним кільцем з одиницею звичайно зображується у вигляді арифметичного виразу , де–коефіцієнти многочлена, причому старший коефіцієнт відмінний від 0. Відносно стандартних операцій додавання та множення многочлени над утворюють кільце, яке позначається . Далі у цьому пункті розглядається кільце многочленів над деяким полем .
У кільці стандартним чином вводиться операція ділення з остачею. Завдяки цьому у кільці цілком аналогічно до кільця працює алгоритм Евкліда, який дозволяє знаходити найбільший спільний дільник двох многочленів. Теорема про однозначність розкладу на множники в доводиться аналогічно до теореми Евкліда. Роль простих чисел відіграють незвідні многочлени, тобто многочлени ненульового степеня, які не мають дільників меншого(але ненульового) степеня. Теорема говорить, що кожен многочлен ненульового степеня над полем розкладається у добуток незвідних многочленів однозначно, якщо не брати до уваги співмножників і не розрізняти співмножники, які можуть бути отриманими одним із одного домноженням на елемент поля.
Нехай –деякий многочлен над . Для через позначимо елемент поля , який отримується як результат підстановки елемента у многочлен замість змінної і виконання операцій множення і додавання в . Елемент будемо називати значенням многочлена в точці . Якщо , то називається коренем многочлена . Діленням з остачею многочлена на многочлен і підстановкою в отриману рівність доводиться
ТЕОРЕМА Безу. Якщо –корінь ненульового многочлена над полем , то ділиться на многочлен .
Простим наслідком цієї теореми є
ТВЕРДЖЕННЯ 7. Ненульовий многочлен степеня над полем має не більше, ніж коренів.
Із твердження випливає, що два многочлени степеня не вищого від кожен, значення яких збігаються в різних точках мусять бути рівними, оскільки їх різниця є многочленом степеня не більшого від , який має корінь. Отже, щонайбільше один многочлен степеня не більшого ніж може набувати в заданій точці задані значення . Такий многочлен справді існує і дається такою формулою
ІНТЕРПОЛЯЦІЙНА ФОРМУЛА ЛАГРАНЖА.
.
9. Векторні простори. Лінійним(або векторним) простором над полем називається абелева група із груповою операцією + та операцією множення елемента групи(вектора) на елемент поля(скаляр), та результатом виконання якої є вектор. Операції мають задовольняти такі умови.
множення унітарне:, де 1–одиниця поля, а –довільний вектор з ;
множення асоціативне: для всіх і ;
множення і додавання повязані законами дистрибутивності

для всіх і .
Наприклад, множина для довільного натурального із покомпонентним додаванням та покомпонентним множенням на елемент поля є лінійним простором над .
Для векторів вектор називається їхньою лінійною комбинацією з коефіцієнтами . Всеможливі лінійні комбінації векторів утворюють їхню лінійну оболонку. Вектори є повною системою, якщо їх лінійна оболонка охоплює весь простір . Вектори називаються лінійно незалежними, якщо жоден з них не належить лінійній оболонці решти. Базою простору називається така система векторів , що кожен вектор з можна подати як лінійну комбінацію векторів цієї системи, причому однозначним чином. Зрозуміло, що база повинна бути лінійно незалежною і повною системою. Окрім того справедливе
ТВЕРДЖЕННЯ 8. Для системи векторів наступні три умови еквівалентні:
є базою;
є мінімально повною системою(іншими словами, якщо вилучити із будь-який вектор, система перестане бути повною);
є максимальною лінійною незалежною системою(іншими словами, якщо додати до будь-який вектор, система перестане бути лінійно незалежною).
Із твердження видно, що кожен скінченний лінійний простір має деяку базу . Припустимо, що поле також скінченне. З означення бази випливає, що складається із векторів, де –кількіість елементів поля . Отже, будь-які дві бази мусять мати однакову кількість векторів(цей факт має місце і для нескінченних полів, якщо лише лінійний простір має скінченну базу). Кількість векторів у базі називається вимірністю лінійного простору.
Будь-яка підмножина простору , замкнена відносно операцій, сама є лінійним простором над тим же полем і називається лінійним підпростором простору . Очевидно, лінійна оболонка системи із лінійно незалежних векторів є -вимірним підпростором.
Матриця з називається невиродженою, якщо її стовпчики є лінійно незалежними векторами лінійного простору .
Твердження 9. Квадратна матриця над полем невироджена тоді і тільки тоді, коли вона оборотна.
Пункт 1. Ділення з остачею.
Цілі числа — {..., –3, –2, –1, 0, 1, 2 , 3,...}. У цій книжці буде вживатися досить стандартне позначення цієї множини — літера Z. Відомо, що щодо звичайних операцій додавання і множення, множина цілих чисел є кільцем, або Z є моногенним асоціативно-комутативним кільцем з одиницею. Підмножина {1, 2, 3, 4,...} множини цілих чисел називається множиною натуральних чисел і стандартно позначається буквою N.
Визначення. Нехай a , b ??Z. Число а ділиться на число b якщо знайдеться таке число q ??Z , що а = qb . Синоніми: а кратне b ; b — дільник а . Запис: а(3 вертикальні крапки AL) b чи b | a .
Легко помітити, що відношення подільності b | a є бінарним відношенням на множині Z, а якщо обмежитися розглядом тільки натуральних чисел, те нескладно установити, що на множині N це бінарне відношення є рефлексивним, антисиметричним і транзитивним, тобто відношенням часткового порядку. Легко перевіряється також наступна властивість:
Нехай а 1 + а 2 +...+ а n = c 1 + c 2 +...+ c k – рівність сум цілих чисел. Якщо всі доданки в цій рівності, крім одного, кратні b , то і доданок, що залишився, має бути кратним b .
Перераховані властивості відношення подільності дозволять нам довести основну теорему першого пункту:
Теорема . Для даного цілого відмінного від нуля числа b, усяке ціле число а єдиним чином представляється у виді а = bq + r , де 0 ??r < | b |.
Доказ. Зрозуміло, що одне представлення числа а рівністю а = bq + r ми одержимо, якщо візьмемо bq рівним найбільшому кратному числа b , що не перевищує а (див. рис. 1)

( a = 3b+r )
Рис. 1
Тоді, очевидно, 0 ??r < | b |. Доведемо одиничність такого представлення. Нехай а = bq + r і а = bq 1 + r 1 — два таких представлення. Значить 0 = а – а = b ( q – q 1 ) + ( r – r 1 ). Тут 0 ділиться на b; b ( q – q1 ) ділиться на b, отже ( r – r1 ) мусить ділитися на b . Оскільки 0??r<b і 0??r1<b , то r – r1 < b і r – r1 ділиться на b, значить r – r1 дорівнює нулю, а, значить і q — q1 дорівнює нулю, тобто два таких представлення збігаються.
Відразу після доказу теореми, поки не забулися позначення, що використовувалися в ньому, дамо
Визначення. Число q називається неповною часткою, а число r — залишком від ділення а на b.
Ідея малюнка 1, що пояснює доказ теореми, належить древнім грекам. Саме древні греки, чомусь, дуже любили багаторазово укладати один відрізок в інший, а частину більшого відрізка, що залишилася, природно, називали “залишком”.
Помітимо, що залишок — завжди є число невід’ємне, а от неповна частка може бути яким завгодно цілим числом. Тому на питання: “Скільки буде мінус п'ять поділити на три з залишком?”, кожний повинен відповідати: “Мінус два, у залишку — один!”.
Пункт 2. Найбільший спільний дільник.
Почнемо з визначення.
Визначення. Число d ??Z, що ділиться одночасно на числа а, b, c, ... , k ??Z, називається спільним дільником цих чисел. Найбільше d з такою властивістю називається найбільшим спільним дільником. Позначення: d = (a, b, c, ..., k).
Перелічимо, подекуди доводячи, основні властивості найбільшого спільного дільника.
Теорема (Властивість 1) . Якщо (a, b) = d, то знайдуться такі цілі числа u і v, що d=au+bv.
Доказ . Розглянемо множину P = { au + bv ??u,v ??Z }. Очевидно, що P ??Z , причому P – ідеал у Z. Очевидно, що a, b, 0 ??P. Нехай x, y ??P і y ??0. Тоді залишок ділення x на y належить P. Дійсно:
x = yq + r, 0 ??r < y,
r = x – yq = (au1 + bv1) – (au2+bv2) q=a ( u1 – u2 q)+ b (v1–v2q) ??P.
Нехай d ??P - найменше додатне число з P (задумайтеся, чому таке існує!). Тоді а ділиться на d. Справді, a=dq+r1, 0 ??r1< d, a ??P, d ??P, значить r1??P, отже r1=0. Аналогічно одержуємо, що b ділиться на d, отже d - спільний дільник a і b.
Оскільки d ??P, то d = au0+ bv0. Якщо тепер d1 - спільний дільник a і b, то d1 | (au0+bv0), тобто d1| d. Значить d ??d1 і d - найбільший спільний дільник.
Властивість 2 . Для будь-яких цілих чисел а і k справедливо: ( а , kа ) = а ; (1, а ) = 1.
Властивість 3 . Якщо a = bq + c , то сукупність спільних дільників a і b збігається із сукупністю спільних дільників b і c , зокрема,
( a , b ) = ( b , c ).
Доказ. Нехай d | a , d | b , тоді d | c . Нехай d | c , d | b , тоді d | a .
Проілюструємо цей доказ на давньогрецький лад. Подивіться на рис. 2:

Рис. 2
Якщо d ціле число разів укладається в а і в b , то, очевидно, що d мусить ціле число разів укластися й у с.
Властивість 4 . Нехай a , b і m - довільні цілі числа. Тоді
( am , bm ) = m ( a , b ).
Доказ. Якщо d - найбільший спільний дільник чисел а і b , то dm | am і dm | bm , тобто dm - дільник am і bm . Покажемо, що dm - найбільший спільний дільник цих чисел. Оскільки d - найбільший спільний дільник чисел а і b , то, відповідно до властивості 1, для деяких цілих чисел u і v виконується рівність d = au + bv. Помноживши цю рівність на m, одержимо:
dm = amu + bmv .
Видно, що якщо деяке число s ділиться одночасно на am і bm , то s має ділитися і на dm , тобто s ??dm , отже, dm - найбільший спільний дільник.
Властивість 5 . Нехай s - дільник а і b . Тоді:
(a/s,b/s)=(a,b)/s
Доказ .
(a,b)=(a/s*s,b/s*s)=s(a/s,b/s)
Властивість 6 . Очевидно тепер, що
(a/(a,b),b/(a,b))=1
Властивість 7 . Якщо ( a , b ) = 1, то ( ac , b ) = ( c , b ).
Доказ . Нехай ( c, b ) = d . Маємо: d | b , d | c , отже d | ac , тобто d - дільник ас і b . Нехай тепер ( ac , b ) = s . Маємо: s | b , s | ac , s - дільник b , тобто або s = 1, або s не ділиться на а . Це означає, що s | c , значить s | d . Отже, d і s поділяються один на одного, тобто d = s.
Пункт 3. Взаємно прості числа.
Визначення. Цілі числа a і b називаються взаємно простими, якщо ( a , b ) = 1.
Згадуючи властивість 1 з попереднього пункту, легко помітити, що два числа a і b є взаємно простими тоді і тільки тоді, коли знайдуться цілі числа u і v такі, що au + bv = 1.
Здавалося б, що особливого можна сказати про взаємно прості числа? Ну немає в них спільних дільників, відмінних від 1 і -1, і все. Однак, задамося питанням: "Як часто зустрічаються пари взаємно простих чисел?", і постараємося відповісти на нього у термінах теорії імовірностей.
Нехай X = { x n | n = 1, 2,...} - довільна строго зростаюча послідовність натуральних чисел (або X - довільна підмножина натуральних чисел, упорядкована звичайним чином). Позначимо через ??( N ; X ) число членів послідовності X , що не перевищують N.
Визначення. Число

називається (верхньою асимптотичною) густиною послідовності X = { x n | n = 1, 2,...} у множині N.
Приклад 1. Нехай xn = 2 n , де n належить N, - послідовність усіх парних чисел. Очевидно, що

Між іншим, це добре узгоджується з нашими інтуїтивними представленнями про те, що парних чисел - половина.
Приклад 2. Нехай xn=2n, де n належить N, - геометрична прогресія. Інтуїтивно ясно, що таких чисел у натуральному ряді мало, тому що чим далі в натуральному ряді, тим рідше зустрічається ступінь двійки. Поняття густини підтверджує це відчуття: ??(2k ; { xn }) = k , і, легко перевірити, що

Резонно вважати, що густина - це імовірність навмання витягти з натурального ряду число, що належить заданій послідовності. (Погодьтеся, що ви завжди так і думали. Імовірність дістати парне число є 1/2, а імовірність напоротися на ступінь двійки, особливо серед великих чисел, узагалі говорячи, мізерно мала).
Аналогічно визначенню густини послідовності, можна дати визначення густини множини пар натуральних чисел. Нехай мається довільна множина Х упорядкованих пар натуральних чисел. Позначимо через ??( N ; X ) число пар з множини Х , кожна компонента яких не перевищує N. Корисно уявити собі пари чисел з множини Х як координати точок на координатній площині, тоді ??( N ; X ) є числом точок множини Х, що потрапили в квадрат {( x , y ) | 0 < x ??N ; 0 < y ??N }.
Визначення. Число

називається (верхньою асимптотичною) густиною множини пар Х в множині N2.
Приклад 3. Нехай Х - множина усіх пар натуральних чисел, у яких перший компонент строго більший за другий. Множині Х відповідають точки першої чверті координатної площини, що лежать під бісектрисою y = x . Густина такої множини становить:

що, узгоджується з нашим інтуїтивним представленням про те, що упорядкованих пар, у яких перший компонент перевершує другу приблизно половина від загальної кількості всіх пар натуральних чисел.
Нехай X - множина всіх упорядкованих пар ( u , v ) натуральних чисел таких, що ( u, v ) = 1, тобто множина усіх пар взаємно простих чисел. Відповідь на питання про частоту появи пари взаємно простих чисел дає теорема, відкрита в 1881 році італійцем Э.Чезаро.
Теорема (Чезаро). Імовірність вибрати з N пар взаємно простих чисел дорівнює 6/ ??2 , точніше

Таким чином, густина взаємно простих чисел у множині N2 виявляється існує і дорівнює 6/ ??2 ??0, 607... Приблизно в 60% випадків ви витягнете з натурального ряду пари взаємно простих. І ще дивно - у теоремі Чезаро виникло число ??, загадкове і всюдисуще!
Доказ. Строгий доказ теореми Чезаро досить складний і громіздкий. Наведемо замість строгого доказу деякі евристичні міркування, що мають переконують в тому, що ця теорема є правдоподібною.
Забудемо, що існування імовірності (верхньої межі) потрібно копітко доводити. Припустимо відразу, що існує імовірність p того, що випадково обрані натуральні числа а і b взаємно прості.
Нехай d ??N . Через P { S } позначимо імовірність події S . Міркуємо: Р {( a , b ) = d } = P{d | a}} P{d | b} P
Просумувавши ці імовірності по всіх можливих значеннях d , ми повинні одержати одиницю:
а сума ряду
відома і дорівнює ??2/6 (див., напр., збірник задач Демидовича з матаналізу, розділ "Ряди Фур'є"). Отже,
1=
отже, p = 6/ ??2 .
Пункт 4. Алгоритм Евкліда.
Слово "алгоритм" є російською транскрипцією латинізованого імені видатного арабського математика ал-Хорезми Абу Абдули Мухаммеда ібн ал-Маджусі (787 - 850) і означає в сучасному смислі деякі правила, список інструкцій чи команд, виконуючи які, хтось досягне необхідного результату. Алгоритм, що дозволяє за заданими натуральними числами a і b знаходити їхній найбільший спільний дільник, вважається придумав самий впливовий математик усіх часів і народів - Евклід, він викладений у IX книзі його знаменитих "Початків".
Відступ "Панегірик Евкліду"
Про життя Евкліда ми не маємо ніяких достовірних зведень, можливо, що він не був реальною історичною особистістю, а був колективним псевдонімом деякої групи Олександрійських математиків, типу Ніколя Бурбаки. Якщо він жив, то він жив за часів Птолемея Першого (306 - 283), якому, відповідно до переказу, він сказав "До геометрії немає царської дороги". Але Птолемеї свідомо культивували науку і культуру в Олександрії, тому не звертали уваги на такі слова своїх учених.
Найбільш знаменитий твір Евкліда - тринадцять книг його "Начал", але є ще й інші дрібні опуси. Ми не знаємо, яка частина цих праць належить самому Евкліду і які частини складають компіляції, але в цих працях виявляється разюча проникливість і далекоглядність. Це перші математичні праці, що дійшли до нас від древніх греків цілком. В історії Західного світу "Начала", після Біблії, - книга, що найбільше число раз видана і найбільш вивчена. Велика частина нашої шкільної геометрії запозичена буквально з перших шести книг "Начал", традиція Евкліда дотепер тяжіє над нашим елементарним навчанням. Для професійного математика ці книги усе ще мають непереборне зачарування, а їх логічна дедуктивна побудова вплинула на сам спосіб наукового мислення більше, ніж інший здобуток.
Панегірик кінчений.
Нехай дані два числа a і b ; a ??0, b ??0, вважаємо, що a > b . Символом := у записі алгоритму позначаємо присвоювання. Алгоритм:
1. Ввести a і b .
2. Якщо b = 0 , то Відповідь: а . Кінець .
3. Замінити r := "залишок від ділення а на b ", а := b , b := r .
4. Йти на 2.

рис.3.
Як і чому виконання цього коротенького набору інструкцій приводить до знаходження найбільшого спільного дільника ми з'ясуємо трохи пізніше, зараз же хочеться сказати кілька слів про сам алгоритм. Покрокове виконання алгоритму Евкліда переконують у його простоті без строкатості. Проілюструємо роботу алгоритму на грецький лад мал. 3:
У сучасному буквеному записі, що кочує з одного підручника в іншій, алгоритм Евкліда виглядає так: a > b; a, b ??Z .
a = bq 1 + r 1 b = r 1 q 2 + r 2 r 1 = r 2 q 3 + r 3 r 2 = r 3 q 4 + r 4
0 ??r 1 < b 0 ??r 2 < r 1 0 ??r 3 < r 2 0 ??r 4 < r 3


· · · · · · · · ·


r n -3 = r n -2 q n -1 + r n -1 r n -2 = r n -1 q n + r n r n -1 = r n q n +1
0 ??r n -1 < r n -2 0 ??r n < r n -1 r n +1 = 0


Маємо: b > r 1 > r 2 >... > r n > 0, отже процес обірветься максимум через b кроків. Дуже цікавий і практично важливе питання в тому, коли алгоритм Евкліда працює особливо довго, а коли швидко, ми розглянемо трохи пізніше. Покажемо зараз, що r n = ( a , b ). Переглянемо послідовно рівності зверху вниз: усякий дільник а і b ділиться на r1 , r2 ,..., rn . Якщо ж переглядати цей ланцюжок рівностей від останнього до першого, то видно, що rn | rn -1 , rn | rn -2 , і т.д., тобто rn ділиться на а і b . Тому rn - найбільший спільний дільник чисел а і b .
З його розгляду алгоритму Евкліда зрозуміло, що сукупність дільників а і b збігається із сукупністю дільників ( a , b ). Ще він дає практичний спосіб одержання чисел u і v з Z (чи, якщо завгодно, з теореми пункту 2) таких, що r n = au + bv = ( a, b ).
Дійсно, з ланцюжка рівностей маємо:
r n = r n -2 - r n -1 q n = r n -2 - ( r n -3 - r n -2 q n -1 ) q n = ...
(йдемо по ланцюжку рівностей знизу нагору, виражаючи з кожної наступної рівності залишок і підставляючи його у вираз, що одержаний вже до цього моменту)
... = au + bv = ( a , b ).
Приклад. Нехай а = 525, b = 231. Віддамо ці числа на розтерзання алгоритму Евкліда: (нижче приводиться запис ділення куточком, і кожен раз те, що було в куточку, а саме дільник, дописується до залишку ділення з лівої сторони, а залишок, як новий дільник, береться в куточок)
_ _42| 42 | 0
_ 63| 42 | 21 2
_ 231| 189 | 42 1
525| 462 | 63 3
231 2

Запис того самого у вигляді ланцюжка рівностей:
525 = 231 · 2 + 63 231 = 63 · 3 + 42 63 = 42 · 1 + 21 42 = 21 · 2
Таким чином, (525, 231) = 21. Лінійне представлення найбільшого спільного дільника:
21 = 63 - 42 · 1 = 63 - (231 - 63 · 3) · 1 = 525 - 231 · 2 - (231 - (525 - 231 · 2) · 3) = 525 · 4 - 231 · 9,
і наші горезвісні u і v з Z рівні, відповідно, 4 і - 9.
Пункт 5. Лінійні діофантові рівняння з двома невідомими.
Звичайно, довільне рівняння (але, як правило, усе-таки з цілими коефіцієнтами) одержує титул "діофантове", якщо хочуть підкреслити, що його потрібно вирішити в цілих числах, тобто знайти всього його розв’язки, що є цілими. Ім'я Діофанта - видатного Олександрійського математика - з'являється тут не випадково. Діофант цікавився розв’язком рівнянь у цілих числах ще в третьому столітті н.е..
Відступ про Діофанта і його історичний слід.
Третій і останній період античного суспільства - період панування Рима. Рим завоював Сіракузи в 212 році, Карфаген - у 146 році, Грецію - у 146, Месопотамію - у 46, Єгипет - у 30 році до нашої ери. Величезні території виявилися колоніями, але римляни не чіпали їхньої культури й економічного устрою доки ті платили податки і побори. Установлений римлянами на сторіччя мир приніс усій завойованій території самий довгий період безвійськового існування, торгівлі і культурного обміну.
Олександрія виявилася центром античної математики. Велися оригінальні дослідження, хоча компілювання, переказ і коментування стали основним видом наукової діяльності. Олександрійські вчені приводили науку в порядок, збираючи розрізнені результати в єдине ціле, і багато праць античних математиків і астрономів дійшли до нас тільки завдяки їхній діяльності. Грецька наука з її незграбним геометричним способом вираження при систематичному відмовленні від алгебраїчних позначень згасала, алгебру й обчислення (прикладну математику) олександрійці взяли зі сходу, з Вавилону та Єгипту.
Основна праця Діофанта ( 250 р.) - "Арифметика". Вціліли лише шість книг оригіналу, загальне їхнє число - предмет здогадів. Ми не знаємо, ким був Діофант, - можливо, що він був эллінізований вавілонянин. Його книга - один з найбільш захоплюючих трактатів, що збереглися від греко-римської стародавності. У ній уперше зустрічається систематичне використання алгебраїчних символів, є особливі знаки для позначення невідомої, мінуса, зворотної величини, зведення в ступінь. Папірус №620 Мічіганського університету, куплений у 1921 році, належить епосу Діофанта і наочно це підтверджує. Серед рівнянь, розв'язаних Діофантом, — x2 - 26 y2 = 1 і x2 - 30 y2 = 1, тепер відомі нам як окремі випадки "рівняння Пелля", причому Діофант цікавиться їхніми розв’язками саме в цілих числах.
Книга Діофанта вплинула на розвиток математичної науки останніх трьох сторіч. Справа в тому, що юрист із Тулузи П’єр Ферма (1601 - 1665), вивчаючи "Арифметику" Діофанта, зробив на полях цієї книги знамениту позначку: "Я знайшов воістину дивний доказ того, що рівняння xn + yn = zn при n > 2, не має розв’язків у цілих числах, але поля цієї книги занадто малі, щоб тут це умістити". Це одне із самих марних математичних тверджень одержало назву "Великої теореми Ферма" і, чомусь, викликало дійсний ажіотаж серед математиків і аматорів (особливо після призначення в 1908 році за його доказ премії в 100000 німецьких марок). Спроби добити цю марну теорему породили цілі розділи сучасної алгебри, алгебраїчної теорії чисел, теорії функцій комплексної змінної й алгебраїчної геометрії, практична користь від який уже не підлягає сумніву. Сама теорема доведена в 1995 році; П’єр Ферма, звичайно, погарячкував на полях "Арифметики", тому що він фізично не міг придумати подібного доказу, що вимагає колосальної сукупності математичних знань. Елементарного доказу великої теореми Ферма поки ніхто з жителів нашої планети знайти не зміг, хоча над пошуком билися кращі розуми останніх трьох століть. Однак, дотепер тисячі психічно нездорових аматорів-"ферматистів" у спразі слави і грошей бомблять своїми листами академічні інститути й університети.
Нехай потрібно розв’язати лінійне діофантове рівняння:
ax + by = c ,
де a , b , c ??Z ; a і b - не нулі.
Спробуємо помислити, дивлячись на це рівняння.
Нехай ( a , b ) = d . Тоді a = a 1 d ; b = b 1 d і рівняння виглядає так:
a 1 d· x + b 1 d· y = c , тобто d· ( a 1 x + b 1 y ) = c .
Тепер зрозуміло, що в такого рівняння є розв’язок (пари цілих чисел x і y ) тільки тоді, коли d | c . Оскільки дуже хочеться розв’язувати це рівняння далі, то нехай d | c . Поділимо обидві частини рівняння на d, і далі будемо вважати, що ( a , b ) = 1.
Розглянемо кілька випадків.
Випадок 1. Нехай c = 0, рівняння має вид ax + by = 0 - " однорідне лінійне діофантове рівняння". Знаходимо, що
x = b / a * y
Оскільки x має бути цілим числом, то y = at , де t - довільне ціле число (параметр). Значить x = - bt і розв’язками однорідного діофантового рівняння ax + by = 0 є усі пари виду {- bt , at }, де t = 0; ±1; ±2;... Множина усіх таких пар називається загальним розв’язком лінійного однорідного діофантового рівняння, будь-яка ж конкретна пара з цієї множини називається частковим розв’язком.
Випадок 2. Нехай тепер c ??0. Цей випадок закривається наступною теоремою.
Теорема. Нехай ( a , b ) = 1, { x 0 , y 0 } - частковий розв’язок діофантового рівняння ax + by = c . Тоді його загальний розв’язок задається формулами:

Таким чином, в теорії лінійних діофантових рівнянь загальний розв’язок неоднорідного рівняння є сумою загального розв’язку відповідного однорідного рівняння і якогось (кожного) часткового розв’язку неоднорідного рівняння.
Доказ. Те, що праві частини зазначених у формулюванні теореми рівностей дійсно є розв’язками, перевіряється їх безпосередньою підстановкою у вихідне рівняння. Покажемо, що будь-який розв’язок рівняння ax + by = c має саме такий вид, який зазначений у формулюванні теореми. Нехай { x * , y *} - який-небудь розв’язок рівняння ax + by = c . Тоді ax * + by * = c , але і ax 0 + by 0 = c . Віднімемо від першої рівності другу й одержимо:
a ( x *- x 0 ) + b ( y *- y 0 ) = 0
- однорідне рівняння. Далі, дивлячись на випадок 1, пишемо відразу загальний розв’язок: x *- x 0 = - bt , y *- y 0 = at , звідки одержуємо:

Як же шукати саме частковий розв’язок { x 0 , y 0 }. Ми домовилися, що ( a , b ) = 1. Це означає, що знайдуться такі u і v з Z , що au + bv = 1 (пункт 4), причому ці u і v знаходимо за допомогою алгоритму Евкліда. Помножимо тепер рівність au + bv = 1 на c і одержимо: a ( uc ) + b ( vc ) = c , тобто x 0 = uc , y 0 = vc .
Приклад. Ви - хроноп, придуманий Хуліо Кортасаром у книжці "З життя хронопів і фамів". Вам потрібно розплатитися в магазині за синю пожежну кишку, тому що червона в господарстві вже давно є. У вас у кишені монети 7 і 12 копійок, а вам треба заплатити 43 копійки. Як це зробити? Вирішуємо рівняння:
7 x + 12 y = 43
Включаємо алгоритм Евкліда:
12 = 7· 1 + 5
7 = 5· 1 + 2
5 = 2· 2 + 1
2 = 1· 2
Виходить, найбільший спільний дільник чисел 7 і 12 дорівнює 1 , а його лінійний вираз такий:
1 = 5 - 2· 2 = 5 - (7 - 5) · 2 = (12 - 7) - (7 - (12 - 7) · 2) = 12· 3 + 7· (- 5),
а саме u = - 5, v = 3. Частковий розв’язок:
x 0 = uc = (- 5) · 43 = - 215
y 0 = vc = 3 · 43 = 129.
Отже, ви повинні відібрати в касира 215 монет по 7 копійок і дати йому 129 монет по 12 копійок. Однак процедуру можна спростити, якщо записати загальний розв’язок неоднорідного діофантового рівняння:
x = -215 - 12 t
y = 129 + 7 t
і бачимо, що при t = - 18, виходить x = 1, y = 3.
Пункт 6. Прості числа і "основна" теорема арифметики.
Визначення. Число р ??N , р ??1, називається простим, якщо р має лише два додатних дільники: 1 і р. Інші натуральні числа (крім 1) прийнято називати складеними. Число 1 має особливий статус за домовленістю, – воно ні просте, ні складене.
Відзначимо деякі нескладні спостереження, зв'язані з простими числами.
Спостереження 1. Найменший дільник будь-якого числа а ??N , відмінний від 1, є число просте.
Доказ. Нехай с | а , с ??1 і с - найменше з цією властивістю. Якщо існує с1 таке, що с1 | с, то с1 ??с и с1 | а , отже, с1 = с чи с1 = 1.
Спостереження 2. Найменший відмінний від 1 дільник складеного числа а ??N не перевершує ??a .
Доказ. с | а , с ??1, с - найменше, отже
а = са 1 , а 1 | а , а 1 ??с , значить аа 1 ??с2 а 1 , а ??с2 і с ????a .
Наступне спостереження, віддаючи данину поваги його автору - Евкліду, назвемо теоремою.
Теорема (Евклід). Простих чисел нескінченно багато.
Доказ. Від противного. Ну нехай р 1 , р 2 ,..., р n - усі прості, які тільки є. Розглянемо число а = р 1 р 2 ... р n + 1. Його найменший відмінний від 1 дільник с , будучи простим, не може збігатися з жодним з р 1 , р 2 ,..., р n , тому що інакше с | 1.
Для складання таблиці простих чисел древній грек Ератосфен придумав процедуру, що одержала назву "решето Ератосфена":
2, 3, 4 , 5, 6 , 7, 8 , 9 , 10 , 11, 12 , 13, 14 , 15 , 16 , 17,...
Йдемо по натуральному ряду зліва направо. Підкреслюємо перше непідкреслене і невикреслене число, а з подальшого ряду викреслюємо кратні тільки що підкресленому. І так багато разів. Легко зрозуміти, що підкреслені числа - прості. Якщо згадати спостереження 2, то стає зрозуміло, що коли викреслено всі кратні до простих, менші за р, то ті, що залишилися невикресленими і менші за р 2 - прості. Це значить, що складання таблиці всіх простих чисел менших за N закінчено відразу, як тільки викреслені всі кратні до простих, менших ??a .
Для чисел, що зростають закономірно, наприклад для квадратів або степенів двійки, було б, звичайно, безглуздо розшукувати екземпляр, що перевершує усі відомі. Для простих же чисел, навпаки, потрібні величезні зусилля, щоб саме це і зробити. Наприклад, у 1876 році француз Люка довів, що число 2127 -1 просте, і 75 років воно залишалося найбільшим з відомих простих чисел:
2 127 -1 = 170141183460469231731687303715884105727.
В даний час складені таблиці всіх простих чисел, що не перевершують 50 мільйонів, далі відомі тільки окремі їхні представники. Читачів завжди залучає гігантизм, тому вкажу тут два найбільших відомих на сьогоднішній момент прості числа: 2 44497 - 1 і 2 86243 - 1. Останнє число записане поки в книгу рекордів Гіннеса, у ньому 25962 десяткових знака. Знайдено воно було, звичайно, у рекламних цілях - демонстрація фірмою IBM можливостей чергового суперкомп'ютера, якому для перевірки цього числа на простоту за допомогою спеціальних витончених тестів (придатних тільки для чисел виду 2 n- 1) знадобився тиждень роботи і купа грошей.
Найважливішою і загальновідомою у цьому пункті є наступна теорема (можна сказати, що вона затверджує факторіальність кільця Z). Ця теорема зветься "Основною теореми арифметики".
Теорема. Усяке ціле число, відмінне від -1, 0 і 1, єдиним чином (з точністю до порядку співмножників) розкладається за допомогою добутку простих чисел.
Доказ. Будемо доводити твердження теореми тільки для натуральних чисел, тому що знак мінус перед числом вміють ставити всі що вміють ставити знак мінус.
Нехай а > 1, р 1 - його найменший простий дільник. Виходить,
а = р 1 а 1 . Якщо, далі, а 1 > 1, то нехай р 2 - його найменший простий дільник і а 1 = р 2 а 2 , тобто а = р 1 р 2 а 2 , і так далі, поки а n не стане рівним одиниці. Це обов'язково відбудеться, тому що а > а 1 > а 2 ..., а натуральні числа із звичайним порядком задовольняють умові обриву спадаючих ланцюгів. Маємо, таким чином,
a = p 1 p 2 ... p n , і можливість розкладу доведена.
Покажемо одиничність. Ну нехай a = q 1 q 2 ... q n - інший розклад, тобто p 1 p 2 ...p n = q 1 q 2 ...q s . В останній рівності права частина ділиться на q 1 , отже, ліва частина ділиться на q 1 . Покажемо, що якщо добуток p 1 p 2 ...p n ділиться на q 1 , то один із співмножників рk мусить ділитися на q 1 .
Дійсно, якщо q 1 | p 1 , то все доведено. Нехай q 1 не ділиться на p 1 . Оскільки q 1 - просте число, то ( q 1 , p 1 ) = 1. Значить знайдуться такі
u , v ??Z , що up 1 + vq 1 = 1. Помножимо останню рівність на p 2 ...p n , одержимо: p 2 ... p n = p 1 ( p 2 ... p n ) u + q 1 ( p 2 ... p n ) v . Обидва доданки справа діляться на q 1 , отже, p 2 ...p n діляться на q 1 .
Тепер нехай, наприклад, q 1 | p 1 . Значить q 1 = p 1 , тому що p 1 - просте. З рівності p 1 p 2 ...p n = q 1 q 2 ...q s , скорочуючи одержимо рівність p 2 ...p n = q 2 ...q s . Далі бачимо, що n =s, і кожен співмножник лівої частини рівності p 1 p 2 ...p n = q 1 q 2 ...q n обов'язково присутній у правій і навпаки.
Відзначимо без доказу два досить очевидних наслідки з цієї теореми.
Наслідок 1. Усяке раціональне число однозначно представляється у вигляді
p1(1 p2(2 ... pk(k
де ??1 , ??2 ,..., ??k ????Z .
Наслідок 2. Якщо
a = p1(1 p2(2 ... pn(n , b = p1(1 p2(2 ... pn(n
цілі числа, те найбільший спільний дільник a і b дорівнює
p1(1 p2(2 ... pn(n
а найменше спільне кратне a і b дорівнює
p1(1 p2(2 ... pn(n
де ??i = min { ??i , ??i }, a ??i = max { ??i , ??i }.
Для справедливості обговорюваної теореми просто необхідна адитивна структура кільця цілих чисел. Поясню необхідність наявності додавання поганим прикладом.
Поганий приклад. Нехай S = {4 k + 1 | k ??Z } - множина цілих чисел. Легко перевірити, що S замкнена щодо множення:
(4 k 1 + 1)·(4 k 2 + 1) = 16 k 1 k 2 + 4 k 2 + 4 k 1 + 1 = 4·(4 k 1 k 2 + k 1 + k 2 ) + 1 ??S ,
однак ця множина не замкнена щодо додавання. "Квазіпрості" числа з S - далі нерозкладні в добуток чисел з S : 5, 9, 13, 17, 21, 49,... Індуктивним міркуванням, легко переконатися, що всяке число з S розкладене в добуток "квазіпростих". Однак одиничність такого розкладу відсутня: 441 = 21·21 = 9·49, при цьому 9 не ділиться на 21, і 49 не ділиться на 21. От який поганий приклад.
§2 Алгоритми та їх складність
Програмістська практика добре розрізняє алгоритми швидкі та повільні. Ці характеристики вкрай важливі для криптографії. З одного боку, користувачі криптосистеми повинні володіти швидкими алгоритмами шифрування та дешифрування, а з іншого — їх суперник не повинен мати швидкого алгоритму розкриття криптотексту без знання ключа. В ідеалі, суперник не має швидкого-алгоритму розкриття не тому, що йому бракує хисту додуматись до такого алгоритму, а тому, що останнього взагалі не існує — всі алгоритми зламу криптосистеми є повільними.
Наявність швидкого алгоритму для розв'язання певної задачі доводиться безпосереднім пред'явленням такого алгоритму. При цьому алгоритм може бути заданим неформальним інтуїтивно прийнятним описом, який, як правило, нескладно записати як програму у будь-якій з існуючих мов програмування. Відсутність же швидкого алгоритму для задачі є фактом більш фундаментального характеру, доведення якого вимагає глибоких математичних методів. Галуззю математики, що займається подібними питаннями, є теорія складності.
1. Поняття та терміни
1.1. Задачі. Ми розглядатимемо функції вигляду , де А і В — деякі алфавіти. Саме цей клас функцій виникає, коли ми цікавимось функціями, які можна ефективно обчислювати. Наприклад, функцію піднесення до квадрату у множині невід'ємних цілих чисел з обчислювальної точки зору природньо трактувати як функцію із множини {0,1,..., 9}* в себе. Слід лише домовитись, як бути з десятковими словами, що починаються цифрою 0. їх можна утотожнити з невід'ємними цілими десятковими числами, що отримуються після відкидання перших нулів. А можна вважати, що функція відображає слова, які не є десятковим записом натурального числа, у 0. Якщо функція двомісна, на зразок додавання натуральних чисел, то для розділення аргументів зручно ввести в алфавіт новий спеціальний символ, як от #.
Задача обчислення функції полягає у знаходженні для вказаного слова значення функції . Ми будемо описувати задачі обчислення наступним чином:
Задано: .
Обчислити: .
Втім, коли нам не буде настільки важливо, в якому алфавіті і як саме кодуються аргументи та значення функції, ми допускатимемо і менш формальні описи задач на кшталт
Задано: .
Обчислити: .
Іноді задачу у вищеозначеному сенсі ми будемо називати масовою. Конкретне задане називатимемо індивідуальною задачею. Значення будемо називати розв'язком індивідуальної задачі . Масову задачу можна вважати нескінченним набором індивідуальних задач.
Нехай — множина слів у алфавіті А*. Часто L називають мовою. Задача розпізнавання мови L полягає у визначенні, належить задане слово цій мові, чи ні:
Задано: .
Розпізнати: ?
Наприклад,
Задано: .
Розпізнати: чи є повним квадратом ?
Індивідуальною задачею є будь-яке задання слова w. Розв'язком індивідуальної задачі є відповідь "так" чи "ні", яку прийнято кодувати символами 1 та 0 відповідно.
Ще один різновид задачі, який нам буде траплятися, називається задачею пошуку елемента із заданою властивістю. Нехай алфавіт А не містить символу # і {#})*. Для кожного заданого задача полягає або у знаходженні хоча б одного такого, що #, або у констатації, що елемента з такою властивістю немає:
Задано: .
Знайти: таке, що #.
Індивідуальною задачею є довільно задане слово , а її розв'язком е або відповідне , або відповідь "не існує", яку зручно кодувати символом #. Наприклад,
Задано: .
Знайти: таке, що .
Ми ввели три типи задач — обчислення, розпізнавання та пошуку. Насправді, в обчислювальному відношенні всі вони рівносильні між собою — кожну задачу одного типу можна переформулювати як задачу будь-якого з двох інших типів.
Так, задача розпізнавання мови є ні чим іншим, як задачею обчислення її характеристичної функції , що набуває значення 1 на аргументах з і лише на них. Задачу обчислення функції легко подати як задачу пошуку, взявши #, де — множина слів у алфавіті #. Нарешті, кожну задачу пошуку можна звести до деякої задачі розпізнавання .
1.2. Алгоритми. Поняття алгоритму в математиці таке ж давнє і фундаментальне, як, скажімо, поняття числа. Наприклад, алгоритмові Евкліда не менш як 22 сотні років. Подібно до того, як розвивалось уявлення про дійсні числа, від відкриття давньогрецькими математиками неспівмірності довжин сторони квадрата і його діагоналі і аж до чітких конструкцій та означень, розроблених у другій половині 19 століття Г. Кантором, Ш. Мере, Р. Дедекіндом та К. Ваєрштрасом, поняття алгоритму теж уточнювалось і було строго означене у першій половині нашого століття. Перші формалізації запропонували у 1936 році Е. Пост і А. Тьюрінг, випередивши появу обчислювальної техніки, яка значною мірою грунтується на тій же ідеології. Згодом були запропоновані й інші означення, зокрема А. А. Марковим та А. М. Колмогоровим, і всі вони виявились еквівалентними між собою. Формалізація поняття алгоритму є видатним досягненням математичної логіки, оскільки лише з появою строгого означення алгоритму стало можливим доводити для певних задач, що жоден алгоритм не здатен їх розв'язати. Такі задачі називаються алгоритмічно нерозв'язними. Так, задача розпізнавання, чи заданий многочлен від кількох змінних з цілими коефіцієнтами має цілі нулі, є алгоритмічно нерозв'язною (десята проблема Гільберта). Зазначимо для порівняння, що у випадку многочленів від однієї змінної для подібної задачі алгоритм відомий.
Коли йтиметься про алгоритм, то вважатимуться зафіксованими два алфавіти — вхідний та вихідний . Робота алгоритму полягає в тому, що він отримує на вхід слово у вхідному алфавіті — вхід, і як результат виконання послідовності елементарних операцій, подає на вихід слово у вихідному алфавіті — вихід. Поняття елементарної операції або кроку роботи є складовою формального означення алгоритму. Ми нe будемо уточнювати це поняття, апелюючи до його побутово-програмістського розуміння.
Алгоритм розв'язув масову задачу, якщо, отримавши на вхід будь-яку індивідуальну задачу , він за скінченну кількість кроків подає на вихід її розв'язок. Залежно від типу задачі говоримо, що алгоритм обчислює функцію, розпізнає множину чи мову, знаходить елемент із певною властивістю. У випадку задачі розпізнавання, якщо алгоритм подає на вихід 1, то кажемо, що він приймає вхід, а якщо 0, то кажемо, що алгоритм відхиляє вхід.
Довжиною входу називається кількість букв у слові , яку ми домовились позначати як . Нехай — деяка функція. Алгоритм розв'язує задачу за час , якщо на кожному вході він робить не більше, ніж кроків. Якщо для деякої константи , то алгоритм розв'язує задачу за поліноміальний від довжини входу час. Такий алгоритм називають поліноміальним, а задачу поліноміально розв 'язною.
Поняття поліноміального часу е центральною концепцією теорії складності обчислень. В рамках цієї концепції вважається, що поліноміальні алгоритми відповідають швидким, ефективним на практиці алгоритмам; а поліноміально розв'язні задачі відповідають легким задачам, які можуть бути розв'язаними за прийнятний час на входах довжини, що має практичний інтерес. Часто поліноміальний алгоритм справді задовольняє всі практичні проблеми. В гіршому ж випадку його можна вважати швидким лише асимптотично, а на відносно невеликих входах алгоритм може працювати довго.
Слід підкреслити, що клас поліноміально розв'язних задач не залежить від того, яка саме з багатьох можливих формалізацій алгоритму вибрана. Цей факт можна строго довести як теорему для будь-яких двох означень алгоритму.
Клас поліноміально розв'язних задач найчастіше не залежить і від способу, в який задача сформульована. Наприклад, задача множення натуральних чисел ефективно розв'язується як у двійковій, так і в десятковій системах числення. Використання іншого алфавіту не здатне суттєво прискорити обчислення (тобто зменшити час як функцію від довжини входу). Винятком е формулювання задачі в односимвольному алфавіті. Ми виключаємо цей випадок з нашого розгляду як такий, що не має застосувань.
Алгоритм, який на нескінченній послідовності входів робить більше як кроків, де довжина входу, а > 0 - деяка константа, називається експоненційним. Про такий алгоритм кажуть, що він вимагає експоненційного часу. Експоненційні алгоритми відповідають загальним уявленням про повільні, неефективні на практиці алгоритми. Як приклад згадаємо алгоритм ламання шифру повним перебором ключів. Задачу, яка може бути розв'язана лише експоненційним алгоритмом, слід визнати важкою. Типовою є ситуація, коли для задачі відомі лише експоненційні алгоритми, але не вдається довести, що кращих не існує. На практиці така задача теж вважається важкою (до моменту, поки для неї не буде знайдено ефективного алгоритму, якщо такий все ж виявиться). Як приклад наведемо задачу пошуку, на важкості якої грунтується чимало сучасних криптосистем:
Задано: .
Знайти: нетривіальний дільник числа .
Варто уточнити, що експоненційний алгоритм є повільним у найгіршому випадку — досить, щоб він затрачав час хоча б на одному з входів довжини , де кількість букв у вхідному алфавіті. Може трапитись, що повільний в найгіршому випадку алгоритм є досить швидким у середньому, тобто для переважної більшості входів довжини . (Зауважимо, що можуть розглядатися різні ймовірнісні розподіли на множині входів довжини — рівномірний розподіл не завжди найприродніший.) Хоч і експоненційний, але швидкий у середньому алгоритм може бути цілком придатним для практичних потреб. Показовим прикладом є симплекс-метод для задачі лінійного програмування. Наявність алгоритмів, які добре працюють в середньому, слід враховувати при оцінці складності задачі.
Нагадаємо, що множина індивідуальних задач є множиною всіх слів у деякому алфавіті . Інколи є сенс розглядати звуження масової задачі на деяку підмножину індивідуальних задач . Алгоритм розв'язує звужену задачу, якщо він видає правильний розв'язок для індивідуальних задач із множини (а на всіх інших входах може подавати на вихід будь-що, або й взагалі не зупинятись).
2. Прямолінійні програми
Цей параграф присвячений класові алгоритмів, які називаються прямолінійними програмами. Для нас важливим є те, що деякі необхідні для криптографічної практики алгоритми природно описувати саме прямолінійними програмами
2.1. Означення моделі. Поняття прямолінійної програми можна вво-дити для довільної алгебраїчної структури. Ми зробимо це для кільця з одиницею. Елементарними операціями будуть множення та додавання в кільці.
Нехай задані наступні об'єкти.
• Символ 1, який називається символом предметної константи і позначає одиницю кільця.
• Алфавіт , елементи якого називаються вхідними змінними.
• Алфавіт , елементи якого називаються службовими змінними.
• Три символи операцій •,+,—, для множення, додавання та віднімання.
Прямолінійною програмою називається послідовність із слів у алфавіті , в якій -те слово має вигляд , де є одним із символів операцій, a , як і , є або символом предметної константи, або вхідною змінною, або однією із службових змінних .
Слова, з яких складається прямолінійна програма, називаються її командами. Зауважимо, що кожна команда виконує операцію над опе-рандами, які можуть бути лише результатами виконання попередніх команд. Кількість команд прямолінійної програми, яку ми позначили через , називається її довжиною або складністю. Кількість команд множення називається мультиплікативною складністю, а додавання та віднімання — адитивною складністю програми.
Припустимо, що в нас є прямолінійна програма, і нехай — деяке кільце з одиницею. Кожна команда прямолінійної програми визначає деяку функцію , яка є поліномом від змінних . Справді, перша команда задає поліном вигляду , або . Кожна наступна команда задає функцію, що є добутком, сумою або різницею функцій, визначених якимись із попередніх команд.
Функцію розглядаємо як набір функцій-проекцій ,де . Прямолінійна програма обчислює функцію , якщо кожна з функцій , де 1 < j < k, визначається деякою командою цієї програми. Складністю обчислення функції прямолінійними програмами називається найменша довжина прямолінійної програми, що обчислює . Подібно означуються мультиплікативна та адитивна складності функції.
приклад 2.1. Функція в будь-якому кільці обчислюється такою програмою:

Отже, складність цієї функції не перевищує 4. Насправді вона менша, тому що для обчислення функції є коротша програма:

2.2. Піднесення до степеня. Розглянемо задачу обчислення функції у довільному кільці. Безхитрісна прямолінійна програма для цієї функції має складність d — 1:

У подальших розділах неодноразово виникатиме задача
Піднесення до степеня за модулем
Задано: .
Обчислити: .
Завжди можна вважати, що d < п. Інакше можна скористатися теоремою Ойлера, щоб понизити показник. Якщо ми використаємо для розв'язання цієї задачі наведену вище прямолінійну програму (з множенням в кільці ), то отримаємо експоненційний алгоритм. Справді, коли d не набагато менше, ніж п , то довжина входу має порядок , а кількість операцій множення має порядок п .
На щастя, є значно ощадніший алгоритм, який був відомий ще до нашої ери в Індії. Ми називатимемо його бінарним методом. Опишемо цей метод у вигляді прямолінійної програми для обчислення функції .
Подамо показник у двійковій системі числення: , де і . Для спрощення запису дозволимо одній команді програми виконувати до двох множень і покладемо . Тоді -та команда задається так:

Всього команд . Результатом виконання останньої є

Всього витрачається множень (множення першої команди не є необхідним — вона включена для однорідності). Наведену прямолінійну програму можна легко конвертувати в алгоритм у сенсі пункту 1.2, чи в програму на будь-якій мові програмування, що розв'язує задачу піднесення до степеня за модулем .
2.3. Функціональні схеми. Будь-яку функцію можна трактувати як функцію і розглядати можливість її обчислення прямолінійною програмою. Зауважимо, що стандартні логічні зв'язки можна виразити через арифметичні операції в : кон'юнкцію булевих змінних і , як їх добуток , диз'юнкцію як , а заперечення змінної як операцію додавання одиниці . Оскільки кожну булеву функцію можна виразити булевою формулою у диз'юнктивній нормальній формі, приходимо до висновку, що кожна функція обчислюється певною прямолінійною програмою. Складність обчислення функції позначимо через . Таким чином, позначає найменшу можливу довжину прямолінійної програми над для обчислення функції .
Прямолінійні програми над довжини частіше називають (функціональними) схемами розміру у базі . Як зазначалось, кон'юнкція збігається із множенням в . Логічна зв'язка , що відповідає додаванню в , часом позначається як XOR, від eXclusive OR — "виключне або".
Зазначимо принципову відмінність між схемами та алгоритмами у сенсі пункту 1.2. Перші обчислюють скінченні функції вигляду , в той час як другі — нескінченні функції вигляду (як зазначалось в пункті 1.2, вибір алфавіту не відіграє принципової ролі, тож ми задля зручності надаємо перевагу двійковому). Однак між двома моделями існує глибокий зв'язок. Наступна теорема справедлива для будь-якої природної формалізації поняття алгоритму.
теорема 2.2. Нехай функція обчислюється деяким поліноміальним алгоритмом. Позначимо через звуження на множину . Тоді для деякої константи > 0.
Підкреслимо, що обернене твердження в загальному випадку хибне. Пояснити стан речей можна так. Якщо ми маємо послідовність схем для обчислення функцій , то напрошується такий алгоритм обчислення функції на довільному вході довжини :
1) взяти схему ,
2) промоделювати її обчислення на вході .
Так от, з пунктом 2 немає проблем, але для втілення пункту 1 повинен бути ефективний спосіб породження схеми за словом довжини . Послідовність схем з такою властивістю називають однорідною. Очевидно, що однорідною є далеко не кожна послідовність схем. В цьому контексті, алгоритми у сенсі пункту 1.2 називають однорідною моделлю обчислень, а прямолінійні програми та схеми — неоднорідною.
На завершення звернемо увагу ще на один нюанс. Прямолінійні програми над виконують множення чи додавання як "внутрішню" операцію, на що йде один крок. Мультиплікативна складність є більш реалістичною мірою складності, оскільки на практиці множення займає більше обчислювальних ресурсів, ніж додавання. Кажуть, що операція множення є дорожчою операцією, або навпаки, додавання є дешевшою операцією.
Функціональні схеми, тобто прямолінійні програми над , дозволяють розглядати внутрішню структуру операцій множення та додавання у двійковій системі числення. В контексті виконання арифметичних операцій команди прямолінійної програми над часто називають бітовими операціями. Стандартні алгоритми додавання та множення двох -розрядних двійкових чисел затрачають, відповідно, і бітових операцій. Ділення (з остачею) має такий же порядок складності, як і множення. Шонгаге і Штрассен запропонували алгоритм, який виконує множення коштом бітових операцій. Їх метод використовується в асимптотично швидкому алгоритмі знаходження НСД двох -розрядних чисел за операцій.
Рандомізація
Йморівнісні алгоритми. Алгоритми, що розглядались досі, називають детермінованими. Більші обчислювальні можливості мають ймовірнісні алгоритми. Окрім входу , ймовірнісний алгоритм отримує випадкову двійкову послідовність , далі працює як звичайний детермінований алгоритм і результат роботи подає на вихід. Довжина випадкової послідовності залежить від довжини входу.
Слід підкреслити, що вихід ймовірнісного алгоритму залежить не лише від входу, а й від випадкової послідовності. Випадкова послідовність вважається рівномірно розпооділеною на , тобто кожневибирається з ймовірністю . Ймовірнісний алгоритм розв’язує масову задачу з ймовірністю помилки , якщо отримавши на вхід індивідуальну задачу , він подає на вихід її правильний розв’язок з ймовірністю не менш ніж . Іншими словами, вихід алгоритму є розв’язком індивідуальної задачідля всіх, окрім щонайбільше випадкових послідовностей .
Ймовірнісні алгоритми ще називають алгоритмами Монте Карло. Лас Вегас алгоритми є підкласом алгоритмів Монте Карло. Лас Вегас алгоритм розв’язує задачу з ймовірністю невдачі , якщо на кожному вході він видає або правильний розв’язок індивідуальної задачі, або повідомлення (на зразок спеціального символу #) про неспроможність такий розв’язок знайти, причому друге має місце з ймовірністю щонайбільше . Можна вважати що Лас Вегас алгоритм взагалі не помиляється, лише часом утримується від подання на вихід розв’язку.
Час роботи ймовірнісного алгоритму на вході означується як максимальна покількість кроків, які алгоритм робить на цьому вході з використанням випадкової послідовності (іноді час роботи ймовірнісного алгоритму означують як середню, а не максимальну кількість кроків). Таким чином, поняття поліноміального часу, яке було введене для детерміновиних алгоритмів, переноситься й на клас ймовірнісних алгоритмів.
Окремо зупинимось на ймовірнісних алгоритмах для задач розпізнавання. Ймовірнісний (Монте Карло) алгоритм розпізнає мову з однобічною помилкою, де , якщо дотримані такі умови:
якщо , то приймає вхід з імовірністю 1;
якщо , то відхилає вхід з імовірністю принаймні .
Нехай ймовірнісний алгоритм розпізнає мову з однобічною помилкою, використовуючи на вході довжини випадкову послідовність довжини . В цьому випадку є ефективний спосіб зменшення помилки. Розглянемо ймовірнісний алгоритм , який на вході працює наступним чином:
використовує випадкову послідовність довжини , де , розбивши її на частин довжини кожна;
моделює роботу алгоритму на вході з використанням кожної із випадкових послідовностей , і отримує результатів моделювання , де
подає на вихід 1, якщо всі дорівнюють 1, і 0, якщо серед них є хоча б один 0.
Перевіримо, що алгоритм розпізнає ту ж мову і оцінимо ймовірність помилки. Якщо , то алгоритм видає 1 незалежно від набору випадкової послідовності. Тому для всіх, і у цьому випадку приймає з ймовірністю 1. Якщо , то з ймовірністю щонайбільше , для кожного .Оскільки є випадковими і незалежними між собою, то рівність виконується для всіх з ймовірністю не більшою ніж . Приходимо до висновку, що приймає не з із ймовірністю щонайбільше і, таким чином, розпізнає з однобічною помилкою .
Важливе зауваження полягяє в тому, що алгоритм поліноміальний, то таким є і алгоритм , причому не лише для константи, а й для будь-якого -поліному від довжини входу. Поклавши для відповідної константи , бачимо, що якщо множина розпізнається поліноміальним ймовірнісним алгоритмом із однобічною помилкою , для константи між 0 і 1, то ця ж множина розпізнається деяким поліноміальним алгоритмом із однобічною помилкою . Ймовірність такого порядку називають експоненційно низькою. Таким чином, експоненційне зниження помилки (до ) досягається ціною всього лише лінійного збільшення часу роботи (у разів).
Випадковий вибір. Генерування послідовності випадкових бітів на практиці є не такою простою справою, як може видатись на перший погляд, адже реальна обчислювальна машина не має ніякого механізму для “підкидання монетки”. Ми повернемось до цього питання в розділі VI, а до того моменту будемо вважати, що ймовірнісний алгоритм здатен отримати як завгодно довгу послідовність випадкових бітів, причому на отримання одного біту йде один крок роботи алгоритму.
У подальшому викладі конкретних ймовірнісних алгоритмів ми вживатимемо приписи на кшталт “вибрати випадковий елемент із скінченної множини ”. Це означає, що елементмає біти сконструйованим певним чином із випадкової послідовності , причому кожен з елементів множини мусить отримуватися з однаковою ймовірністю. Спосіб такого конструювання найчастіше буде доволі очевидним. У цьому пункті ми заздалегідь розберемо кілька простих випадків, які далі зустрічатимуться без детальних пояснень.
Найпростіше влаштувати випадковий вибір елемента із множини для , або із для простого . (Прості числа такого вигляду називаються простими Ферма). Для цього випадкова двійкова послідовність довжини просто розглядається як двійковий запис елемента такої множини.
Щоб отримати випадковий елемент із дл довільного , можна вибрати випадковий елемент із , де , і якщо , то використовувати цей елемент, якщо ж , то вибір слід повторити ще раз. Внаслідок цієї процедури буде отримано з ймовірністю . Зрозуміло, що в разі невдачі повторювати вибір доведеться не надто довго. Справді, ймовірність того, що попаде в лише за і-тим разом, дорівнює , а математичне сподівання кількості повторень процедури до першого успішного вибору дорівнює
.
Таким же чином проводиться вибір випадкового елемента із для довільного простого . Щоб вибрати випадковий елемент з множини , де іпрості, можна скористатися наслідком II.2.13 з Китайської теореми про остачі. Згідно із ним, досить вибрати і - випадкові елементи множин і , і обчислити , для якого і . Такий елементрівномірно розподілений на .``
Метод вишуканий, але простіший і ефективніший для великихіспосіб породження випадкового елемента з є таким. Вибираємо випадковий елемент з і перевіряємо, чи він ділиться на якесь із чисел і. Якщо ні, то , що нам і потрібно, якщо ж ділиться, то процедуру вибору повторюємо ще раз. Ймовірність того, що вибір буде успішно здійснено за один раз, дорівнює . Цей спосіб добрий також тим, що він придатний для породження випадкового елементу множини для довільного . А саме, вибирається випадковий елемент з і обчислюється НСД. Якщо останній дорівнює 1, то вибір здійснено, а інакше вибір слід повторити. Ймовірністьтого, що вибір буде успішно зроблено за один раз, дорівнює . Ойінимо, наскільки малою є ймовірність того, що елемент із все ще не буде вибрано упродовж повторень процедури вибору. Ця ймовірність дорівнює . За твердженням II.2.15, при великих . Отже, ймовірність, яку ми оцінюємо, обмежена зверху величиною , яка, у свою чергу, не перевищує за нерівністю В.4. Підсумовуючи, бачимо,що з високою ймовірністю (наскільки високою, залежить від нашого вибору константи ) випадковий елемент з, можна вибрати в результаті не більше, як незалежних виборів випадкового елемента з і перевірки умови НСД=1.
У цьому контексті доречно згадати класичний результат Діріхле. Нехай - випадковий елемент із множини , де також вибрано випадковим чином в діапазоні від 1 до N. Тоді ймовірність того, що НСД=1 при зростаючому N прямує до .
Порівняння складності задач.
Оракульна модель. Опишемо поняття оракульного алгоритму. Це абстрактна обчислювальна модель, яка не описує ніяких рельних обчислень, а потрубна нам для порівняння обчислювальної складності задач.
Під оракулом ми будемо розуміти будь-яку функцію , де та - скінченні алфавіти. Оракульний алгоритм є алгоритмом у звичному розумінні, але наділений додатковою елементарною операцією звернення до оракула. Ця операція виконується зразу після того, як алгоритм в результаті своєї попередньої роботи надрукував деяке слово , що називається запитом до оракула. Внаслідок звернення до оракула алгоритм отримує слово , відповідь оракула, яке використовується у подальшій роботі. Оракульний алгоритм із доступом до оракула позначатимемо через . Зауважимо,що робота оракульного алгоритму може суттєво залежати від того, до якого конкретно оракула він має доступ.
Як приклад наведемо щонайпростіший алгоритм з доступом до оракула .
Алгоритм
отримує на вхід слово .
звертається до оракла із запитом ;
подає на вихід .
Зрозуміло, що обчислює функцію . Цей приклад демонструє наскільки широкими (і нереалістичними) є можливості оракільних алгоритмів порівняно із звичайними – оракульний алгоритм може очислити навіть таку функцію, яку не можна обчислити ніяким звичайним алгоритмом, варто лише взяти достатньо “потужний” оракул.
Поняття часу роботи поширюється на оракульні алгоритми згідно із домовленістю, що звернення до оракула займає лише один крок. Але окремо слід враховувати час, який затрачається на друкування запиту та зчитування відповіді оракула. Оракульний алгоритм називається поліноміальним, якщо він працює час, обмежений деяким поліномом від довжини входу, причому це обмеження виконується для кожного оракула. Звернення до оракулаприподно інтерпретувати у програмістських термінах як вмклик програмою підпроцедури, що обчислює функцію на заданому аргументі, причому час роботи процедури не враховується при оцінці загального часу програми.
Оракул , що є характеристичною функцією деякої множини , будемо утотожнювати із самою множиною і писати замість .
Звідності задач. Оракульний алгоритм зводить задачу П1 до задачі П2, якщо для будь-якого оракула , який кожну індивідуальну задачу масової задачі П2 відображає у якийсь з її розв’язків, алгоритм розв’язує задачу П1. Зазначимо, що якщо П2 є задачею обчислення або розпізнавання, то означення спрощується, адже в цих випадках оракул , про який йдеться, визначений однозначно. Таким чином, оракульний алгоритм зводить задачу П до задачі обчислення функції , якщо алгоритм розв’язує задачу П. Також, оракульний алгоритм зводить задачу П до задачі розпізнавання множини , якщо алгоритм розв’язує задачу П.
Якщо алгоритм зводить П1 до П2, то кажуть, що він є зведенням першої задачі до другої. Якщо існує зведення задачі П1 до задачі П2, яке є поліноміальним алгоритмом, то кажуть, що П1 поліноміально зводиться до П2, а називають поліноміальним зведенням.
Приклад 4.1. Нехай П1 – задача знаходження нетривіального дільника заданого натурального числа, а П2 – задача розпізнавання такої множини :
.
П1 поліноміально зводиться до П2 за допомогою алгоритму бінарного пошуку.
Вхід: .
Якщо (звернення до оракула!), то видати повідомлення, що просте і припинити роботу.
Інакше покласти та . Подальша робота алгоритму розбивається на кроки. і-тий крок полягає в наступному.
Якщо (чергове звернення до оракула), то покласти , , а інакше , .
Якщо , то подати на вихід і припинити роботу, а інакше перейти до виконання наступного -го кроку.
Неважко зрозуміти, що описаний алгоритм або визначає, що вхід є простим числом, або знаходить його найменший простий дільник. Оцінимо час роботи цього звернення. Як легко зауважити, . Звідси випливає, що Отже, на вході алгоритм робить не більше кроків і справді є поліноміальним.
Поняття оракульного алгоритму без труднощів поширюється і на ймовірнісні алгоритми. Таким чином отримуємо поняття ймовірнісного поліноміального зведення однієї задачі до іншої.
Теорема 4.2. Нехай П1, П2 і П3 є алгоритмічними задачами.
Якщо П1 поліноміально зводиться до П2, а П2 до П3, то П1 поліноміально зводиться до П3 .
Якщо задача П1 поліноміально зводиться до П2, яка розв’язується за поліноміальний час, то П1 також розв’язується за поліноміальний час.
Якщо існує ймовірнісне поліноміальне зведення П1 до П2 з деякою ймовірністю помилки, і задача П2 розв’язується за поліноміальний час, то П1 розв’язується деяким поліноміальним ймовірнісним алгоритмом з такою ж ймовірністю помилки.
Доведення теореми залишається читачеві у якості нескладної вправи.
Якщо задача П1 поліноміально зводиться до П2, а П2 поліноміально зводиться до П1, то такі задачі називаються поліноміально еквівалентними.
Приклад 4.3. Нехай П1 – задача знаходження нетривіального дільника заданого натурального числа, а П2 – задача знаходження канонічного розкладу розкладу числа на прості співмножники. Ці дві задачі поліноміально еквівалентні. Зведення П1 до П2 очевидне. Продемонструємо обернене зведення, тобто опишемо алгоритм , який безкоштовно отримує розв’язки задачі П1 і знаходить канонічний розклад заданого числа на множники. Отримавши на вхід , алгоритм просить дати йому нетривіальний дільник цього числа. Якщо отримує відповідь, що такого не існує, то подає на вихід розклад, який складається з самого числа . Якщо ж отримує нетривіальний дільник , то далі рекурсивно викликає самого себе на входах і , і отримавши розклади на множники цих чисел, об’єднує їх у розклад числа .
Поліноміальна звідність визначає відношення часткового порядку на множині класів еквівалентності алгоритмічних задач.
§ 2. Ланцюгові дроби
У цьому параграфі ми відходимо від вивчення тільки цілих чисел. Цей параграф присвячений математичному апарату - ланцюговим (чи неперервним) дробам. Крім того, що вивчення ланцюгових дробів цікаво саме по собі, їхнього застосування виходять далеко за рамки теорії чисел: вони допомагають досліджувати числові послідовності, аналізувати алгоритми, вирішувати диференціальні рівняння і т.д.
Пункт 7. Розкладання чисел у ланцюгові дроби.
Визначення. Ланцюговий (чи неперервним ) дробом називається вираз виду:

Домовимося називати числа q 1 , q 2 ,..., q n ,... - неповними частками і вважаємо, що q 1 ??Z, а q 2 ,..., q n ,... ??N . Числа
??1 = q 1 , ??2 = q 1 +, ??3 = q 1 +, і т.д.
називаються прямуючими дробами ланцюгового дробу ??.
Ланцюговий дріб може бути кінцевим (має скінченне число дробових ліній і неповних часток), так і нескінченним вниз і вправо. У першому випадку дріб є деяким раціональним числом, у другому - поки незрозуміло чим дріб взагалі є, але зрозуміло, що всі його прямуючі дроби - раціональні числа.
Домовимося називати значенням (чи величиною) нескінченного ланцюгового дробу границю нескінченної послідовності його прямуючих дробів:

(поки без усякого доказу існування цієї границі).
Глобальною метою наступних кількох пунктів є доказ основної теореми про ланцюгові дроби:
Теорема. Усяке дійсне число може бути розкладене в ланцюговий дріб єдиним чином, і довільний кінцевий чи нескінченний ланцюговий дріб має значення деяке дійсне число.
Після доказу цієї теореми можна буде сміливо сказати, що ланцюгові дроби - це ще одна форма запису дійсних чисел. Однак доказ цієї теореми розтягнеться надовго.
Нехай ????R - дійсне число, укладене між двома послідовними цілими числами: а ????< а +1. Число а будемо називати нижнім цілим числа ??(це просто ціла частина ??), а число а +1 - верхнім цілим. Позначеннями для нижнього і верхнього цілого числа ??нехай будуть, відповідно, ??????и ??????.
Візьмемо довільне дійсне число ????R , q 1 = ??????. Тоді ??= q 1 + ??1 , 0 ????1 < 1, отже
, і
Якщо, далі, ??1 - не ціле, то знову:
q 2 = ????2 ??, ??2 = q 2 + ??2 = q 2 +, ??3 >1,
і
Продовжуючи цей процес узяття нижнього цілих і обертання дробових частин, одержимо запис довільного числа ????R у виді ланцюгового дробу.
Приклад 1. Розкладемо в ланцюговий дріб число ??= ??2.
Маємо q 1 = ????2 ??= 1, ??1 = ??2 - 1, тобто ??= 1 + ( ??2 - 1). Далі,
,
q 2 = ????2 + 1 ??= 2, ??2 = ??2 - 1,
.
Оскільки ??1 = ??2 , те неважко зрозуміти, що цей процес зациклиться і, якщо його не зупиняти, те вийде нескінченний ланцюговий дріб:

Усі неповні частки в ній, починаючи з другої, рівні двом.
Очевидно, що якщо ????R - ірраціональне, те описаний вище процес нескінченний, тому що інакше, у випадку зупинки цього процесу, ??виявилося б рівним скінченному ланцюговому дробу, тобто раціональному числу. Виходить, що довільне ірраціональне число якщо і можливо, то можливо представити лише нескінченним ланцюговим дробом. Забудемо поки про ірраціональні числа і розглядатимемо тільки раціональних.
Нехай ????Q , ??= a / b ; a , b ??Z , b > 0. Виявляється, що при цих умовах, зазначений вище процес розкладання числа в ланцюговий дріб завжди скінченний і використаємо алгоритм Евкліда. Візьмемо числа a і b , і уважно подивимося, що вийде.
a = bq 1 + r 1, тобто ,
b = r 1 q 2 + r 2, тобто ,
r 1 = r 2 q 3 + r 3, тобто ,
. . . . . . . . . . .
r n -2 = r n -1 q n + r n , тобто ,
r n -1 = r n q n +1, тобто .
Значить:

де q 1 , q 2 ,..., q n +1 - саме ті неповні частки з алгоритму Евкліда. Таким чином, у випадку раціонального числа a / b , процес розкладання в ланцюговий дріб скінченний і дріб містить не більше b поверхів. В цьому місці основна теорема про ланцюгові дроби для раціональних чисел виявилася майже доведеною (не довели тише одиничність розкладання, проте це у випадку скінченних ланцюгових дробів майже очевидне, якщо прирівняти два ланцюгові дроби. Тоді, міркуючи по індукції, одержимо, що в рівних дробів збігаються всі неповні частки).
Горизонтальні дробові лінії в накресленні ланцюгового дробу сильно нагадують малюнок 3 з пункту 4 - відрізки, що малювали древні греки на піску, та й зв'язок алгоритму Евкліда з ланцюговими дробами безпосередня.
Приклад 2. Цей приклад запозичений з книги І.М. Виноградова "Основи теорії чисел", адже придумати самому таке дике раціональне число практично неможливо. Отже: розкласти 105/38 у ланцюговий дріб.
Включаємо алгоритм Евкліда:
105 = 38 · 2+ 29
38 = 29 · 1+ 9
29 = 9 · 3+ 2
9 = 2 · 4+ 1
2 = 1 · 2
Неповні частки підкреслено тому, що тепер для написання відповіді потрібно акуратно розташувати їх послідовно на поверхах ланцюгового дробу перед знаками плюс:

Пункт 8. Обчислення прямуючих дробів.
Проспостерігаємо за поведінкою прямуючих дробів
??1 = q 1 , ??2 = q 1 + , ??3 = q 1 + , ...
ланцюгового дробу

з метою навчитися швидко їх обчислювати без перетворення багатоповерхових виразів.
Прямуючий дріб ??s , s > 1, одержуємо із дробу ??s -1 заміною в записі виразу ??s -1 букви q s -1 виразом q s -1 + 1/ q s . Ми вже знаємо з пункту 7, що якщо "багатоповерховий" прямуючий дріб спростити (порахувати), то вийде деяке раціональне число P/Q - "одноповерховий" дріб. Домовимося завжди буквою Ps позначати чисельник придатної дробу ??s (чисельник його раціонального значення, тобто "одноповерхового" дробу), а буквою Q s - знаменник.
Приймемо для зручності P 0 = 1, Q 0 = 0. (Це просто угода, на нуль ділити не потрібно.) Маємо:

, тобто P 1 = q 1 , Q 1 = 1,
,
і т.д.
Видно, що виходять рекурентні співвідношення:
P s = q s P s -1 + P s -2 - чисельники
Q s = q s Q s -1 + Q s -2 - знаменники
Ці співвідношення разом з початковими умовами P 0 = 1, Q 0 = 0, P 1 = q 1 , Q 1 = 1 значно прискорюють процес обчислення прямуючих дробів. Самі співвідношення дуже легко довести, якщо скористатися принципом математичної індукції.
Приклад. Згадаємо розклад в ланцюговий дріб числа 105/38 і обчислимо прямуючі дроби. Маємо:

Обчислення чисельників і знаменників прямуючих дробів зводимо в таблицю:
s
0
1
2
3
4
5

Q s

2
1
3
4
2

P s
1
2
3
11
47
105

Q s
0
1
1
4
17
38

Другий рядок цієї таблиці - неповні частки - заповнюється відразу після роботи алгоритму Евкліда, числа P0 = 1, Q0 = 0, P1 = q1 , Q1 = 1 проставляються в таблицю автоматично. Два останні рядки заповнюються зліва направо з використанням рекурентних співвідношень. Наприклад, число 11 = P3 у третьому рядку виникло так: трійка, що стоїть над ним, помножилася на трійку, що стоїть перед ним, і до результату додалася двійка спереду, отже P3=q3P2+P1=3(3+2. Після того, як у таблиці вже є число 11, наступна клітинка в цьому рядку заповнюється числом 4 · 11 + 3 = 47, і т.д. Погодьтеся, що цей процес набагато швидший за розкручування багатоповерхових дробів. Відповідь:
??0 = ??; ??1 = 2; ??2 = 3; ??3 = =2,75,

- на п'ятому кроці (починаючи з нуля) прямуючі дроби підійшли до самого числа, стрибаючи довкола нього, причому дроби з парними номерами більші за початкове число, а з непарними - менші, і послідовність прямуючих дробів дуже швидко сходиться до самого числа. Це, звичайно, не випадково, але про ці властивості трохи нижче.
Порахуємо прямуючі дроби розкладу ??2 у ланцюговий дріб з прикладу 1 попереднього пункту. Складемо таблицю:
s
0
1
2
3
4
5
6
7

Q s

1
2
2
2
2
2
2

P s
1
1
3
7
17
41
99
239

Q s
0
1
2
5
12
29
70
169

Уже на шостому кроці одержали дріб 99/70 = 1,41428..., тобто досягнена дуже висока точність. Знадобилося для цього лише кілька хвилин, що показує ефективність ланцюгових дробів.
Пункт 9. Властивості прямуючих дробів.
Властивість 1 . P s Q s -1 - Q s P s -1 = (- 1) s , s > 0.
Доказ. Позначимо h s = P s Q s -1 - Q s P s -1 .
h 1 = P 1 Q 0 - Q 1 P 0 = q 1 · 0 - 1 · 1 = -1,
hs = Ps Qs -1 - Qs Ps -1 = ( qs Ps -1 + Ps -2 ) Qs -1 - ( qs Qs -1 + Qs -2 ) Ps -1 = Ps -2 Qs -1 - Qs -2 Ps -1 = - hs -1 .
Виходить, hs = (-1) s .
Властивість 2.
??s - ??s -1 =, s>1
Доказ.
??s - ??s -1 =
Властивість 3. Для будь-якого s > 0, дріб P s / Q s - нескоротний.
Доказ. Ну нехай найбільший спільний дільник ( P s , Q s ) дорівнює d і d > 1. Тоді d ділиться на різницю P s Q s -1 - Q s P s -1 , рівну (-1) s , що неможливо.
Властивість 4.
і рівність досягається тільки при q 1 = q 2 =...= q s = 1.
Доказ. Нам уже відомо, що
Q 0 = 0, Q 1 = 1, q i ??N , Q s = q s Q s -1 + Q s -2 ??Q s -1 + Q s -2 .
Найбільш повільний ріст знаменників буде спостерігатися при Q s = Q s -1 + Q s -2 , тобто при q1 =q2 = ... = qs =1. Це рекурентне співвідношення разом з початковими умовами Q0 = 0, Q1 = 1 задає послідовність Фібоначчі. Характеристичне рівняння для рекурентного співвідношення Фібоначчі:
x 2 = x + 1;
його корені: x 1,2 =;
загальний розв’язок:

Підставивши початкові умови у загальний розв’язок одержимо:

звідки C 1 = - C 2 = 1/ ??5.
Формула s-ого члена послідовності Фібоначчі загальновідома.
Отже, знаменники придатних дробів ростуть не повільніше послідовності Фібоначчі: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,...
Відступ про Фібоначчі.
Фібоначчі - "Син Боначчо" чи Леонардо Пізанський (1180-1240),- відомий середньовічний математик-кролівник, філософ, купець і т.д. Подорожував і торгував у країнах сходу, але, на відміну від тупих сучасних човників, заклопотаних тільки марксівською різницею Д??-Д, де Д - гроші, Д??- гроші штрих, вивчав науку сходу. З поверненням до Європи він записав зібрані зведення, додав багато власних досліджень і видав книги "Практика геометрії" і "Книга абака". Послідовність Фібоначчі виникає в самого Леонардо при рішенні наступної задачі: Скільки пар кроликів може з’явитися від однієї пари протягом року, якщо а) кожна пара кожен місяць породжує нову пару, що із другого місяця стає виробником, і б) кролики не дохнуть. Разючим чином, демонструючи єдність світобудови, послідовність Фібоначчі з'являється не тільки при вивченні ланцюгових дробів, але й у багатьох інших розділах математики, фізики, біології, мистецтвознавства. Крім породження на світло цієї чудової послідовності й іншого, "Книга абака" була одним з вирішальних джерел проникнення в Західну Європу десяткової системи числення й арабського запису цифр.
Властивість 5. Для будь-якого нескінченного ланцюгового дробу, послідовність ??1 , ??2 , ??3 ,... сходиться.
Доказ. Розглянемо підпослідовності:
, , … , , ... - дробу з парними номерами і
, , … , , ... - дробу з непарними номерами.
Маємо:
?2 n +2 - ??2 n +1 + ??2 n +1 - ??2 n =
оскільки Q 2 n +2 Q 2 n +1 > Q 2 n +1 Q 2 n . Виходить, підпослідовність дробів з парними номерами монотонно спадає. Аналогічно, друга підпослідовність монотонно зростає. Усякий член "парної" послідовності більший за довільний член "непарної". Дійсно, розглянемо ?2 n і ?2 m +1 . Візьмемо парне k таке, що k +1 > 2 n і k +1 > 2 m + 1. Тоді
??k - ??k -1 =, тобто ??k > ??k -1
Але ?k < ?2 n , через спадання послідовності "парних", а ??k -1 > ??2 m +1 , через зростання послідовності "непарних". Виходить, ??2 n > ??k > ??k -1 > ??2 m +1 , що і потрібно. Виходить, що обидві послідовності монотонні й обмежені, отже, мають межі. Крім того,
| ??s - ??s -1 | = при s ?????????,
де ?s - s -ий член послідовності Фібоначчі, отже межі обох підпослідовностей збігаються.
Отже, усякий нескінченний ланцюговий дріб має деяке значення.
Властивість 6. Нехай ????R розкладається в ланцюговий дріб, наприклад, за допомогою процесу узяття цілих частин і "перекидання" дробових (цей процес запропонований у пункті 7 після формулювання основної теореми про ланцюгові дроби), тобто

- результат чергового етапу процесу розкладу. Тоді ??лежить між ?s -1 і ?s , причому ближче до ?s , ніж до ?s -1 .
Доказ. На ( s +1)-ому кроці розкладу замінюємо qs на qs + 1/ ?s +1 , тому маємо точну рівність:
??=, отже
????s +1 Q s + ??Q s -1 - ??s +1 P s - P s -1 = 0.
Перетворимо:

Ця рівність означає, що різниці в дужках різних знаків. Крім того, Qs > Qs -1 , ??s +1 > 1, значить
.
Властивість 7. Для будь-якого ????R , розклад в ланцюговий дріб єдиний.
Доказ. Нехай є два розклади того самого числа:

Якщо два числа збігаються, то в них збігаються цілі частини, тобто р1 = q1 , і збігаються зворотні величини до дробових частин:

Далі так само, по індукції. Основна теорема про ланцюгові дроби (сформульована в пункті 7), до цього моменту виявилася доведеною. Більш того, з вищевикладеного випливає, що довільний ланцюговий дріб (скінчений чи нескінченний) сходиться саме до того числа, що було в нього розкладене.
Пункт 10. Континуанти. Аналіз алгоритму Евкліда.
Згадаємо рекурентні співвідношення для чисельників і знаменників прямуючих дробів:
P s = q s P s -1 + P s -2 - чисельники
Q s = q s Q s -1 + Q s -2 - знаменники.
Початкові умови: P 1 = q 1 , P 0 = 1, Q 1 = 1, Q 0 = 0.
Тепер, коли ці співвідношення коштують як живі в нас перед очима в зручному місці, давайте розглянемо не їхній, а трехдиагональный визначник:
=(q1,q2,…,qn)
Визначення. Визначник (детермінант), позначений декількома рядками вище через ( q1 q2 ... q n ), називається континуантою n -ого порядку. Числа q 1 , q 2 ,..., q n надалі будуть у нас неповними частками з алгоритму Евкліда, тому є цілими.
Розкладемо континуанту n-ого порядку по останньому стовпцю. Одержимо:
( q 1 q 2 ... q n ) = q n ( q 1 q 2 ... q n -1 ) + ( q 1 q 2 ... q n -2 ).
Співвідношення, що вийшло, дуже нагадує рекурентні співвідношення для чисельників і знаменників прямуючих дробів. Це не випадково і дві наступні леми тільки підтверджують наш здогад про явний зв'язок континуант і ланцюгових дробів.
Лема 1. Континуанта ( q1 q2 ... qn ) дорівнює сумі всіляких добутків елементів q1 , q2 , ..., qn одне з яких містить усі ці елементи, а інші виходять з нього викиданням однієї чи декількох пар співмножників із сусідніми номерами (Якщо викинули всі співмножники, то вважаємо, що залишилася 1).
Приклад, що пояснює.
( q1 q2 q3 q4 q5 q6 ) = q1 q2 q3 q4 q5 q6 + q3 q4 q5 q6 + q1 q4 q5 q6 + q1 q2 q5 q6 + q1 q2 q3 q6 + q1 q2 q3 q4 + q5 q6 + q3 q6 + q1 q6 + q3 q4 + q1 q4 + q1 q2 + 1.
Доказ. База індукції:
( q 1 ) = q 1 , ( q 1 q 2 ) == q 1 q 2 + 1,
і твердження леми справедливе для континуант першого і другого порядків.
Крок індукції. Нехай твердження леми вірне для континуант (n-2)-го і (n-1)-ого порядків. Тоді маємо: ( q1 q2 ... qn ) = qn ( q1 q2 ... qn -1 ) + ( q1 q2 ... qn -2 )
і розглядування цієї рівності в поєднанні з уявним прикидуванням, які добутки вийдуть від множення континуанти ( q1 q2 ... qn -1 ) на qn , доводить необхідне.
Спостереження. Кількість доданків в континуанті n -ого порядку є сумою числа доданків у континуантах (n-1)-ого і (n-2)-го порядків, тобто континуанта ( q1 q2 ... qn ) містить ?n +1 складову, де ??n +1 - ( n +1)-ше число Фібоначчі.
Лема 2.
Доказ. База індукції:

Крок індукції. Нехай вірно, що

Тоді:

Твердження леми 2, що встановлює прямий зв'язок континуант із ланцюговими дробами, уперше помітив Леонард Эйлер.
Приступимо тепер до виконання другої частини назви цього пункту - аналізу алгоритму Евкліда. Нас буде цікавити найгірший випадок - коли алгоритм працює особливо довго? Які два найменших числа треба дати алгоритму Евкліда, щоб він працював задане число кроків? Відповідь на це питання дає
Теорема (Ламе, 1845 р.). Нехай n ??N , і нехай a>b>0 такі, що алгоритму Евкліда для обробки а і b необхідно виконати точно n кроків (розподілів із залишком), причому а - найменше з такою властивістю. Тоді а=?n +2 , b =?n +1 , де ?k - k- те число Фібоначчі.
Доказ. Розкладемо a / b у ланцюговий дріб: ,
де q 1 , q 2 ,..., q n - неповні частки з алгоритму Евкліда; за умовою теореми, їх точно n штук. Відповідно до властивості 3 пункту 9, континуанти ( q1 q2 ... qn ) і ( q2 q3 ... qn ) взаємно прості, виходить, якщо (a,b) = d - найбільший спільний дільник, то
( ??)
Помітимо, що за смислом кінцевого ланцюгового дробу, qn ??2, a q1 , q2 ,..., qn -1 , d ??1.
Оскільки континуанта є багаточленом з невід’ємними коефіцієнтами від усіх цих змінних, мінімальне значення досягається при q1 = q2 =...= qn -1 = d = 1, qn = 2. Підставляючи ці значення в ( ??), одержимо: а = ?n +2 , b = ?n +1 .
Наслідок. Якщо натуральні числа a і b не перевищують N ??N , то число кроків (операцій ділення з залишком), необхідних алгоритму Евкліда для обробки a і b не перевищує ??logФ( ??5 N ) ??- 2, де ??????- верхнє ціле ??, ??= (1 + ??5)/2 - більший корінь характеристичного рівняння послідовності Фібоначчі.
Доказ. Максимальне число кроків n досягається при а = ?n +2 , b = ?n +1 , де n - найбільший номер такий, що ?n +2 < N . Розглядаючи формулу для n -ого члена послідовності Фібоначчі (дивитися, наприклад, доказ властивості 4 у пункті 9), легко зрозуміти, що ?n +2 - найближче ціле до (1/ ??5) ?n +2 . Значить (1/ ??5) ?n +2 < N , отже, n +2 < log Ф ( ??5 N ), звідки моментально навіть n < ??log Ф ( ??5 N ) ??- 3 (саме "мінус три", адже розглядається верхнє ціле, тобто, здається, твердження наслідку можна підсилити).
log Ф ( ??5 N ) ??4,785 · lg N + 1,672, тому, наприклад, з будь-якою парою чисел, менших мільйона, алгоритм Евкліда розбирається не більш, ніж за ??4,785 · 6 + 1,672 ??- 3 = 31 - 3 = 28 кроків.
Ну от, використовуючи теорему Ламе, ми провели деякий аналіз швидкодії алгоритму Евкліда і довідалися найгірший випадок для нього - два послідовних числа Фібоначчі.
Пункт 11. Ще дещо про ланцюгові дроби (наближення чисел, періодичність, теорема Эрміта).
Розглянемо теорему, що показує, що серед усіх раціональних дробів з обмеженим за величиною знаменником, щонайкраще наближає довільне число його прямуючий дріб.
Теорема. Нехай ??- довільне число, s > 1, а якщо при цьому
??= a / b - нескоротна, то s < n , де n таке, що Q n = b . Тоді нерівність

можливо тільки якщо в нескоротного дробу c / d знаменник більше Q s .
Доказ. Ми знаємо, що ??завжди лежить між сусідніми придатними дробами, тому завжди

Ця нерівність проілюстрована малюнком 4, розглядаючи який, потрібно пам'ятати, що

(тоді проілюстрована нерівність стає очевидною , навіть якщо c / d < ?s +1 ).

Рис. 4
З проілюстрованої нерівності випливає, що

і, якщо c / d ????s +1 , те

Отже,

і, виходить, d > Q s , що і було потрібно. Якщо ж c / d = ??s +1 , то d = Q s +1 > Q s .
Отже, прямуючий дріб - найкраще наближення даного числа серед усіх дробів, знаменники яких не перевершують знаменник прямуючого дробу. Тут ми впритул підійшли до питання про наближення довільних чисел раціональними дробами про що буде йти мова в параграфі 5 "Трансцендентні числа".
Звернемо увагу на зовнішній вигляд ланцюгових дробів. Спробуємо глянути на ланцюгові дроби і задамося питанням - які числа представляються у вигляді періодичного ланцюгового дробу?
Визначення. Нескінченний ланцюговий дріб

називається періодичним, якщо для послідовності q1 , q2 , ..., qn , ... його неповних часток знайдуться такі натуральні k0 і h , що для будь-якого k ??k0 справедливо qk+h = qk , тобто послідовність неповних часток, починаючи з деякого місця k0 періодична.
Визначення. Ірраціональне число, що є коренем деякого квадратного рівняння з цілими коефіцієнтами, називається квадратичною ірраціональністю.
Приклади квадратичних ірраціональностей:

Приклади не квадратичних ірраціональностей:
, числа ??, e і багато інших.
Теорема (Лагранж). Квадратичні ірраціональності і тільки вони представляються у вигляді нескінченного періодичного ланцюгового дробу.
Доказ. Нехай
- періодичний ланцюговий дріб.
Назвемо число
залишком ланцюгового дробу ??. Таким чином, залишок r n ланцюгового дробу ??- це весь її "хвіст" вниз і вправо, починаючи з n -ого поверху. Зрозуміло, що

Залишки періодичного ланцюгового дробу, мабуть, задовольняють співвідношенню: rk+h = rk , де k ??k 0 , h - період послідовності неповних часток. Це означає (згадуємо властивості прямуючих дробів), що
??=
відкіля
- квадратне рівняння з цілими коефіцієнтами для знаходження rk . Виходить, rk - квадратична ірраціональність, отже,
??= - теж квадратична ірраціональність.
Зворотне твердження теореми доводиться трохи складніше. Нехай ??задовольняє квадратному рівнянню з цілими коефіцієнтами
a ??2 + b ??+ c = 0. (1)
Розкладемо ??у ланцюговий дріб і підставимо в рівняння (1) замість ??його вираз
??=
через деякий залишок r n ланцюгового дробу. Після перетворень знову виходить квадратне рівняння
A n r n 2 + B n r n + C n = 0, (2)
де

є цілими числами. Видно, що Cn = An -1 . Крім того, дискримінанти квадратних рівнянь (1) і (2) збігаються при всіх n :

Оскільки (за властивостями прямуючих дробів)
,
то

де ??n -1 - деяке число таке, що | ?n -1 | < 1. Тепер порахуємо коефіцієнт An у квадратному рівнянні (2):

Виходить, для будь-якого натурального n ,

| C n | = | A n -1 | < 2 a ??+| a | + | b |.
Таким чином, цілі коефіцієнти A n і C n рівняння (2) обмежені за абсолютною величиною і, отже, при зміні n можуть приймати лише скінченне число різних значень. Оскільки дискримінанти рівнянь (1) і (2) збігаються, то і коефіцієнт Bn може приймати лише скінченне число різних значень. Виходить, при зміні n від 1 до ??, ми зустрінемо лише скінченне число різних рівнянь вигляду (2), тобто лише скінченне число різних залишків rn . Це значить, що деякі два залишки rn і rn+h з різними номерами обов'язково збігаються, що й означає періодичність ланцюгового дробу.
Отже, квадратичні ірраціональності і тільки вони представляються періодичними ланцюговими дробами. "Зовнішній вигляд" ланцюгових дробів, що представляють ірраціональності інших типів, у даний час науці невідомий (за дуже рідкісними винятками).
Закінчимо цей параграф теоремою Ш.Эрміта (1822-1901). Цей ефектний результат є прикладом наступного математичного твердження.
Теорема. Усякий дільник числа а 2 + 1, де а ??Z , представляється у вигляді суми двох квадратів.
Доказ. Нехай d | ( а 2 + 1). Значить d не ділиться а . Розкладемо a / d у ланцюговий дріб. Знаменники його прямуючих дробів утворять зростаючий ланцюжок: 1=Q1<Q2 <...<Qn = d. Значить знайдеться такий номер k ??N , що
Q k ????d ??Q k +1 ( ??)
і хоч одна з цих нерівностей - строга. Далі, a / d лежить між сусідніми прямуючими дробами, значить
тобто

де ????1. Зведемо різницю усередині модуля до спільного знаменника:
Маємо:

(тут перша нерівність випливає з ( ??)), значить ( a k -d k ) 2 ??d . Крім того, з іншої нерівності в ( ??) випливає Qk2 ??d і хоча б одна з двох останніх написаних нерівностей строга. Склавши їх, одержимо строгу нерівність:
( a k - d k ) 2 + Q k 2 < 2 d , тобто ( a 2 + 1) Q k 2 - 2 ad k P k + d 2 P k 2 < 2 d .
Ліворуч стоїть сума двох квадратів - ціле додатне число (строго більше за нуль) і кожен з трьох доданків ліворуч ділиться на d. Виходить, що ліва частина ділиться на d і строго менша за 2 d , тобто ліва частина є саме числом d , і
( a k - d k ) 2 + Q k 2 = d - сума двох квадратів.
§ 4. Найважливіші функції в теорії чисел
Пункт 12. Ціла і дробова частина.
Визначення . Нехай x ??R - дійсне число. Цілою частиною [ x ] числа x називається його нижнє ціле, тобто найбільше ціле, що не перевершує x ; дробовою частиною { x } числа x називається число { x } = x - [ x ].
Приклади. [2,81] = 2; {2,81} = 0, 81; [- 0,2] = -1; {-0,2} = 0,8.
Відзначимо, що ці дві функції відомі кожному зі шкільної лави; що ціла частина - неспадна функція; що дробова частина - періодична з періодом 1 функція; що дробова частина завжди невід’ємна, але менша за одиницю; що обидві ці функції розривні при цілих значеннях x , але неперервні при цих x справа.
Лема 1. Показник, з яким просте число р входить у розклад n! , дорівнює ??= [ n/p ] + [ n/p2 ] + [ n/p 3 ] + ...
Доказ. Очевидно, ряд [ n / p ] + [ n / p 2 ] + [ n / p 3 ] + ... обривається в тому місці k , на якому pk перевершить n . Маємо:
n! = 1· 2· 3·...· p· ...· p2 ...· p3 ...· ( n -1) · n .
Число співмножників, кратних p , дорівнює [ n/p ]. Серед них, кратних p2 , міститься [ n / p2 ]; кратних p3 є [ n/p3 ] і т.д. Сума ?? дає шуканий результат, тому що всякий співмножник, кратний pm , але не кратний p m +1 , полічений у ній точно m раз: як кратний p , як кратний p2 , як кратний p3 ,..., як кратний pm .
Приклад. Показник, з яким 5 входить у 643! дорівнює:
[643/5] + [643/25] + [643/125] + [643/625] = 128 + 25 + 5 + 1 = 159.
Визначення. Точка координатної площини називається цілою, якщо обидві її координати - цілі числа.
Лема 2. Нехай функція f ( x ) неперервна і невід’ємна на відрізку [ a, b ]. Тоді число цілих точок в області D = { a < x ??b , 0 < y ??f ( x )} дорівнює

Доказ. На вертикальній прямій з цілою абсцисою x в області D лежить [ f ( x )] цілих крапок.
Ще одне твердження про цілі точки відноситься до області комбінаторної геометрії:
Лема 3. Нехай М - многокутник на координатній площині з вершинами в цілих точках, контур М сам себе не перетинає і не торкається, S - площа цього многокутника,

де підсумовування ведеться по всіх цілих точках А, що лежать усередині і на границі цього многокутника, причому ?A = 1, якщо крапка А лежить усередині М , і ?A = 1/2, якщо крапка А лежить на границі М. Тоді T = S .
Доказ цієї леми не приводитимо, тому що ця лема, узагалі кажучи, не відноситься до теорії чисел. Схема цього доказу.
1) Для трикутника з вершинами в цілих крапках і без цілих крапок усередині твердження очевидне.
2) Для опуклого багатокутника - фіксуємо одну з його вершин і з'єднуємо її прямими з іншими вершинами - попадаємо у випадок трикутників.
3) Випадок неопуклого багатокутника розглядаємо як різницю опуклих багатокутників.
.
Теорема (Лежен Діріхле (1805-1859)). Для будь-якого ????R число 0 є граничною точкою послідовності xn = { ??· n }.
Доказ. Візьмемо будь-яке натуральне t і покажемо, що нерівність

обов'язково має розв’язок в цілих числах p і q , де q ??1. Нехай 0 = { ??· 0}, { ??· 1}, { ??· 2},..., { ??· ( t -1)}, { ??· t } - ( t +1) чисел. Усі вони з відрізка [0, 1]. Розділимо цей відрізок на t рівних частин кроком 1/t . За принципом Діріхле (саме для доказу цієї теореми Діріхле і придумав свій знаменитий "принцип Діріхле" про t клітинок і ( t+ 1) кролика, яким ніде сидіти) в одній з частин відрізка лежить два числа { ??· k1 } і { ??· k2 }, де k2 > k1 . Маємо:
|{ ??k1 } - { ??k2 }| = | ??( k2 - k1 ) - ([ ??k2 ] - [ ??k1 ])| < 1/t
Покладемо k 2 - k 1 = q , [ ??· k 2 ] - [ ??· k 1 ] = p , ясно, що q ??t . Тоді будемо мати
| ??q - p | < 1/t, 0 < q ??t .
Це означає, що p / q – розв’язок нерівності

Спрямуємо t до нескінченності. Одержимо, що ??q відмінне від цілого числа p менш, ніж на 1/ t , а

Отже, або 0, або число 1 - гранична точка послідовності xn ={ ??· n }. Якщо число 0 - гранична точка, то усе доведено. Якщо ж гранична точка - число 1, то тоді для будь-якого ?>0, знайдеться член x послідовності xn такий, що x > 1 - ??. Нехай x =1- ??. Тоді 2 x = 2 - 2 ??, а {2 x } (очевидно, що {2 x } - теж член послідовності xn ) не дотягає до 1 уже на 2 ??; число {3 x } менше 1 уже на 3 ??, і т.д. Отже, можна підібрати таке натуральне k , що член { kx } буде менший за одиницю на k ??и потрапить у ??-окіл нуля. Це означає, що число 0 також є граничною точкою послідовності xn , що саме й було потрібно.
Очевидно, що якщо ??= p / q - раціональне число, де ( p , q ) =1, то послідовність xn ={ ??· n } є періодичною з періодом q і її членами є лише числа
0, , , … ,
Трохи модернізувавши міркування з доказу попередньої теореми, можна обґрунтувати наслідок, що так само належить перу Діріхле.
Наслідок. Якщо число ????R іррациональне, то члени послідовності xn ={ ??· n } усюди щільно заповнюють відрізок [0, 1].
Пункт 13. Мультиплікативні функції.
Визначення. Функція ??: R ??R (чи, більш загально, ??: C ??C ) називається мультиплікативною якщо:
1). Функція ??визначена на N і існує а ??N таке, що ?( а) ??0.
2). Для будь-яких взаємно простих натуральних чисел а1 і а2 виконується ?(а1·а2)=?(а1)·?(а2).
Приклад 1. ??( а) = аs , де s - кожне (хоч дійсне, хоч комплексне) число. Перевірка аксіом 1) і 2) з визначення мультиплікативної функції не є важким, а сам приклад показує, що мультиплікативних функцій щонайменше континуум, тобто багато.
Перелічимо, подекуди доводячи, деякі властивості мультиплікативних функцій. Нехай усюди нижче ??( а) - довільна мультиплікативна функція.
Властивість 1. ??(1) = 1.
Доказ. Нехай а - натуральне число, для якого ??(а)??0. Тоді ??(а·1) = ??( а) · ??(1) = ??( а).
Властивість 2.

де р 1 , р 2 ,..., р n - різні прості числа.
Доказ очевидний.
Властивість 3. Завжди можна побудувати деяку мультиплікативну функцію ??(a), якщо задати ??(1) = 1 і довільно визначити ??( р ??) для всіх простих р і всіх натуральних ??, а для інших натуральних чисел довизначимо функцію ??( a ) використовуючи рівність
.
Доказ відразу випливає з основної теореми арифметики.
Приклад 2. Нехай ??(1) = 1 і ??( р ??) = 2 для всіх р і ??. Тоді, для довільного числа,

Властивість 4. Добуток декількох мультиплікативних функцій є мультиплікативною функцією.
Доказ. Спочатку доведемо для двох співмножників: Нехай ?1 і ?2 - мультиплікативні функції ??= ?1 · ?2 , тоді (перевіряємо аксіоми визначення)
1) ??(1) = ?1 (1) · ?2 (1) = 1 і, крім того, існує таке a (це a = 1), що ??( a ) ??0.
2) Нехай ( a , b ) = 1 - взаємно прості. Тоді
??( a · b ) = ??1 ( a · b ) · ??2 ( a · b ) = ??1 ( a ) ??1 ( b ) ??2 ( a ) ??2 ( b ) =
= ??1 ( a ) ??2 ( a ) · ??1 ( b ) ??2 ( b ) = ??( a ) ??( b ).
Доказ для більшого числа співмножників проводиться стандартним індуктивним міркуванням.
Уведемо зручне позначення. Усюди далі, символом будемо позначати суму чого-небудь, у якій підсумовування проведене по всіх дільниках d числа n. Наступні менш очевидні, ніж попередні, властивості мультиплікативних функцій сформулюємо у вигляді лем.
Лема 1. Нехай
канонічний розклад числа a ??N , ??- будь-яка мультиплікативна функція. Тоді:

Якщо a = 1, то вважаємо праву частину рівною 1.
Доказ. Розкриємо дужки в правій частині. Одержимо суму усіх (без пропусків і повторень) доданків виду

де 0 ???k ???k , для всіх k ??n . Оскільки різні прості числа взаємно прості, то

а це саме те, що стоїть в рівності, що доводиться, ліворуч.
Лема 2. Нехай ??( a ) - будь-яка мультиплікативна функція. Тоді
- також мультиплікативна функція.
Доказ. Перевіримо для ??( a ) аксіоми визначення мультиплікативної функції.
1).
2). Нехай
(a,b)=1, ,
і всі р и q різні. Тоді, за попередньою лемою, маємо: ( дільники в чисел a і b різні)

Пункт 14. Приклади мультиплікативних функцій.
Приклад 1. Число дільників даного числа.
Нехай ??( а) = а 0 ??1 - тотожна одиниця (свідомо мультиплікативна функція). Тоді, якщо
,
та тотожність леми 1 пункту 13 набуває вигляду:
,
- це не що інше, як кількість дільників числа a . За лемою 2 пункту 13, кількість дільників ??(a) числа a є мультиплікативною функцією.
Чисельний приклад. ??(720) = ??(2 4 · 3 2 · 5) = (4 + 1)(2 + 1)(1 + 1) = 30.
Приклад 2. Сума дільників даного числа.
Нехай ??( a ) = a 1 ??a - тотожна мультиплікативна функція. Тоді, якщо
,
то тотожність леми 1 пункту 13 набуває вигляду:

- сума всіх дільників числа a . За лемою 2 пункту 13, сума всіх дільників є мультиплікативною функцією.
Чисельний приклад.
S (720) = S (2 4 · 3 2 · 5) =
Пример 3. Функція Мебіуса.
Функція Мебіуса ??( a ) - це мультиплікативна функція, що визначається так: якщо p - просте число, то ??( p ) = -1; ??( p ??) = 0, при ??> 1; для інших натуральних чисел функція довизначається за мультиплікативністю.
Таким чином, якщо число a ділиться на квадрат натурального числа, відмінний від одиниці, то ??( a ) = 0; якщо ж a = p 1 p 2· · · p n то ??( a ) = (-1)k , де k - число різних простих дільників a . Зрозуміло, що ??(1) = (-1)0 = 1, як і повинно бути.
Лема 1. Нехай ??( a ) - довільна мультиплікативна функція,
.
Тоді:
,
(при a = 1 вважаємо праву частину рівною 1).
Доказ. Розглянемо функцію ?1 ( x ) = ??( x ) · ??( x ). Ця функція мультиплікативна, як добуток мультиплікативних функцій. Для ?1 ( x ) маємо ( p - просте): ?1 ( p ) = - ??( x ); ?1 ( p ??) = 0, при ??> 1. Отже, для ?1 ( x ) тотожність леми 1 пункту 13 виглядає так:

Наслідок 1. Нехай ??( d ) = d-1 = 1/ d (це, звичайно, мультиплікативна функція),
, a>0.
Тоді:

Приклад 4. Функція Ейлера.
Функція Ейлера ?( a ) є кількістю чисел з ряду 0, 1, 2,..., a-1, що є взаємно простими до a.
Лема 2. Нехай .
Тоді:
1) (формула Эйлера);
2)
зокрема, ?( p??) = p??- p??-1 , ?( p ) = p - 1.
Доказ. Нехай x набуває значень з діапазону чисел 0, 1, 2,..., a - 1. Нехай ?x = ( x , a ) - найбільший спільний дільник. Тоді ?( a ) є кількість значень ?x , рівних 1. Придумаємо таку функцію ?(?x), щоб вона була одиницею, коли ?x одиниця, і була нулем в інших випадках.

Останнє легко зрозуміти, якщо згадати лему 1 з цього пункту й у її формулюванні взяти ??(d)??1. Далі можна помітити, що:

Оскільки сума справа в дужках береться по всіх дільниках d числа ?x = ( x, a ), то d ділить x і d ділить a . Тому у першій сумі справа у підсумовуванні присутні лише ті x, що кратні d . Таких x серед чисел 0, 1, 2,..., a - 1 є a/d штук. Виходить, що:
, що і було потрібно.
Маємо

Зафіксуємо деяке d0 таке, що d0 ділить a, d0 ділить x, x < a. Отже у сумі справа у дужках доданків ??(d0 ) рівно a/d0 штук і ?( a ) є сумою
Після цього, рівність

одержується після застосування наслідку з леми 1 цього пункту.
Друге твердження леми випливає з першого внесенням множника а усередину дужок.
Виявляється, тільки що доведена формула

для обчислення функції Ейлера має зрозумілий "фізичний зміст". Справа в тому, що в ній відображене, так зване, правило включень і виключень:
Правило включень і виключень. Нехай задана множина А и виділено k її підмножин. Кількість елементів множини А, що не входять у жодне з виділених підмножин, підраховується так: треба з загального числа елементів А відняти кількість елементів усіх k підмножин, додати кількість елементів усіх їхніх попарних перетинів, відняти кількість елементів усіх потрійних перетинів, додати кількість елементів усіх перетинів по чотирьох і т.д. аж до перетинів всіх k підмножин.
Проілюструємо це правило на прикладі підрахунку функції Ейлера для чисел виду

Рис. 4.
Прямокутник зображує множину усіх цілих чисел від 0 до a; овал N1 - множину чисел, кратних p1; коло N2 - числа, кратні p2 ; перетин N1,2 - множину чисел, що діляться одночасно на p1 і p2 , тобто на p1 p2; числа поза овалом і колом взаємно прості з a. Для підрахунку кількості чисел, взаємно простих з a, потрібно від a відняти кількість чисел у N1 і кількість чисел у N2 (їх, відповідно, a/p1 і a/p2 штук), при цьому загальна частина N1,2 (там a/(p1 p2) штук чисел) відніметься двічі, значить її треба один раз додати (от воно, "включення - виключення"!). У результаті одержимо:
, що й стверджувалося.
При a>2, ?(a) завжди парне. Дійсно, якщо k взаємно просте до a і k<a, то число a-k теж менше за a, взаємно просте до a і не дорівнює k . (Якби a і a-k мали спільний дільник, то їхня різниця a-(a-k) = k теж ділилася б на цей дільник, що суперечить взаємній простоті a і k.) Отже числа, взаємно прості з a розбиваються на пари k і a-k, тому, їх є парне число.
З леми 2 випливають наслідки.
Наслідок 2. Функція Ейлера мультиплікативна.
Доказ. Маємо:
- добуток двох мультиплікативних функцій, перша з який мультиплікативна за лемою 2 пункту 13. Виходить, ?(a) - мультиплікативна.
Наслідок 3.
Доказ. Нехай .
Тоді, за лемою 1 пункту 13 маємо:

Чисельні приклади.
??(5) = 5 - 1 = 4
??(30) = ??(2 · 3 · 5) = (2 - 1)(3 - 1)(5 - 1) = 8


На цьому, мабуть, пункт 14 закінчимо. Крім того, пропозиція, що ви зараз почали уважно читати, теж закінчилося.
Пункт 15. ??-функція Рімана.
Цей пункт трохи складніший за попередні, тому що для його розуміння будуть потрібні знання з області математичного аналізу і теорії функцій комплексних змінних. Буквою C позначимо поле комплексних чисел.
Визначення. Нехай s ??C, дійсна частина Re(s)>1. ??-функцією Рімана називається функція комплексної змінної, що задається рядом:
.
Правомірність такого визначення підтверджує таке спостереження.
Спостереження. У напівплощині Re( s ) > 1 ряд сходиться абсолютно.
Доказ. Нехай s ??C, Re( s ) > 1, s = ??+ i ??(див. рис. 5).
Рис. 5.
Порахуємо абсолютні величини членів ряду:
|n-s|=|e-slns|=|e-(lnn-i(lnn|=|e-(lnn(cos((lnn)-isin((lnn))|=|e-(lnn|=.
Тепер скористаємося інтегральною ознакою збіжності (ми пам'ятаємо, що ??> 1):
.
Отже, при ??> 1 ряд сходиться абсолютно. ?
З цього спостереження випливає
Наслідок 1. Функція ??( s ) аналитична в напівплощині Re( s ) > 1.
Доказ. Дійсно, при всякому ??> 0 і фіксованому ??> 1+ ??, числовий ряд мажорує ряд з абсолютних величин =, де ??????, звідки, за теоремою Вейєрштрасса, випливає рівномірна збіжність ряду в напівплощині Re( s ) ????. Сума ряду з аналітичних функцій, що рівномірно сходиться сама є аналітичною функцією.
Тепер залишилося лише безмежно наближатися до вертикальної пунктирної прямої Re(s)=1 на рис.5, спрямовуючи ??до нуля. Виходить, що у всіх напівплощинах, границя яких як завгодно близько підходить до прямої Re(s)=1, ряд сходиться абсолютно і рівномірно, а його сума - аналітична функція. ?
Нематематичний відступ. Функцію вперше розглядав Ейлер і дослідив багато її властивостей і відкрив свою знамениту формулу , що зв'язує ??(s) з простими числами. Тому, вірніше було б називати функцію дзета-функцією Ейлера. Кілька слів про Бернгарде Рімане (1826 - 1866). Ріман був сином сільського священика, учився в Геттингенському університеті, де в 1851 році одержав ступінь доктора, у 1854 році став приват-доцентом, у 1859 році - професором, наступником Діріхле на кафедрі математики. Йому належать введення в аналіз топологічних представлень, поняття ріманової поверхні, інтеграл Рімана, дослідження гіпергеометричних рядів і абелевих функцій. У роботі 1859 року він досліджував кількість простих чисел, менших заданого числа, і дав точну формулу для знаходження цього числа з функції ?(s). У цій же роботі сформульована "гіпотеза Рімана" про нулі аналітичного продовження ?(s) на всю комплексну площину (Чи вірно, що всі не дійсні нулі дзета-функції лежать на прямій Re(s) =1/2?). Ця гіпотеза, мабуть, є однієї із самих старих, важких і насущних математичних проблем. Вона дотепер не доведена і не спростована.
Далі нам будуть потрібні деякі відомості з матаналізу і теорії функцій комплексної змінної про нескінченні добутки.
Визначення. Нехай u1 , u2 ,..., un ,... - нескінченна послідовність комплексних чисел і всі uj?-1. Вираз виду:
( ??) називається нескінченним добутком, а вирази:
- частковими добутками нескінченного добутку.
Якщо послідовність часткових добутків vk при k ????сходиться до числа v ??0, то говорять, що нескінченний добуток сходиться і дорівнює v. В іншому випадку, якщо vk не сходиться (чи vk (?0), то говорять, що нескінченний добуток розходиться (розходиться до нуля).
Теорема 1 (Ознака збіжності ( ??)). Якщо ряд
u 1 + u 2 +... + u n +... сходиться абсолютно, то нескінченний добуток ( ??) сходиться.
Доказ . Нехай - сходиться, тому загальний член цього ряду прямує до нуля і можна вважати, що, наприклад, | un | ??1/2 для всіх n > n0 (?N . Нехай спочатку un (?R. Тоді, виходячи з чудової границі , починаючи з деякого номера n > n0 , маємо: |ln(1+un)|??2|un|. Отже, послідовність логарифмів часткових добутків
Sn = ln (1 + u 1 ) + ln (1 + u 2 ) +…+ln(1+un)=lnvn
сходиться, тому що , а справа в останній нерівності стоять часткові суми ряду, що сходиться. Отже, сходиться і нескінченний добуток ( ??).
Нехай тепер un - довільні комплексні числа. Треба довести, що при n???сходяться дві послідовності дійсних чисел:
| vn | = |(1+ u1 ) ·...· (1+ un )| = |1+ u1 | ·...· |1+ un | (1)
arg vn = arg ((1+ u1 ) ·...· (1+ un )) = arg (1+ u1 ) +...+ arg (1+ un ) (2)
Нехай un = ?n + i ?n . Ясно, що для збіжності послідовності
| vn | необхідно і досить збіжності послідовності | vn |2 .
Але |1+ un | 2 = |1 + ?n + i ?n | 2 = 1 + ?n 2 + ?n 2 + 2 ?n і, оскільки
| ?n2 + ?n2 + 2 ?n | ??| un |2 + 2| un |, то збіжність (1) випливає з уже доведеного. Збіжність (2) випливає з того, що при всіх n, що більші за деяке n0,
|arg(1+un)|= (тут знову використана чудова границя ), а | ?n | ??0 оскільки un ??0.
Теорема 2 (Формула Ейлера).
,
де pj - j - те просте число і нескінченний добуток справа береться по всіх простих числах.
Доказ. Нехай X ??1, Re(s) > 1. Ряди
1+
абсолютно сходяться (тому що мажоруються геометричними прогресіями). За теоремою 1 це означає, що нескінченний добуток у формулі Ейлера сходиться. Маємо (значок означає добуток по всіх простих числах, що не перевищують X ):
.
Тут при одержанні першої рівності використовувалася формула суми геометричної прогресії, при одержанні останньої рівності істотну роль зіграла основна теорема арифметики. Через R(s, X) позначений залишковий член, приписування якого в потрібному місці дозволяє поставити знак рівності між будь-якими величинами. Насправді ж, R(s, X) містить нескінченне число доданків виду 1/ ns, що не ввійшли в суму, що стоїть перед ним. Оцінимо залишковий член:
,
тобто R(s, X) ??0, при X ?????Це й означає справедливість формули Ейлера.
Наслідок 2. При Re( s ) > 1, ??( s ) не має нулів.
Доказ. Маємо:
,
отже
Продовжимо ??( s ) у напівплощину Re( s ) > 0. Наступні лема і наслідок мають лише показати один з можливих способів реалізації її продовження, тому їхній доказ можна пропустити.
Лема 1. При Re( s ) > 0, N ??1

Доказ. Маємо при Re( s ) > 1:

Але останній інтеграл справа визначає аналітичну функцію навіть при Re(s) > 0. Тому, завдяки принципу аналітичного продовження, твердження леми 1 справедливе. ?
Наслідок 3. Функція ??( s ) є аналітичної в напівплощині Re(s)>0 за винятком крапки s = 1; у крапці s = 1 дзета-функція має простий полюс з відрахуванням, рівним 1. ?
Виявляється, що дзета-функція має нескінченно багато нулів у "критичній смузі" 1>Re(s)>0. Відомо, що ці нулі лежать симетрично відносно прямих Re( s ) =1/2 і Im( s ) = 0; відомо, що в області Re(s)?, де b = Im(s), а с - абсолютна стала, нулів у ??(s) немає (Теорема Ш. Валле-Пуссена). Проте знаменита гіпотеза Рімана, що всі нулі ??(s) лежать на прямій Re(s)=1/2 дотепер не доведена, хоча перевірена для більш, ніж 7 мільйонів коренів. Ось перші десять коренів ??(s) = 0:
?1,2=1/2?14,134725i, ?3,4=1/2?21,022040i, ?5,6=1/2?25,010856i, ?7,8=1/2?30,424878i, ?9,10=1/2?32,935057i.
Наведемо формулу Рімана, про яку вже згадувалося в цьому пункті дрібним шрифтом, для числа ?(x) простих чисел, що не перевищують x:
,
де підсумовування справа ведеться по всіх нулях ??(s), а
.
Доведемо за допомогою дзета-функції Рімана відомі твердження.
Твердження 1. Простих чисел нескінченно багато.
Доказ перший. Ну нехай p1 , p2 ,..., pk - усі прості. Тоді, оскільки
,
одержуємо (при s = 1 і досить великих N ):
, оскільки .
Але це неможливо, бо гармонійний ряд розходиться.
Доказ другий. Ну нехай p1 , p2 ,..., pk - усі прості.
Тоді, , що неможливо, оскільки кінцевий добуток є раціональним числом, що не скажеш про число ?2/6. ?
Наступне твердження набагато менш відоме, ніж нескінченність множини простих. Візьмемо гармонійний ряд і сильно прорідимо його, залишивши в ньому тільки доданки, зворотні до простих чисел і викинувши всі доданки, що є зворотними до складних. Це дійсно сильне прорідження, тому що в натуральному ряді існують як завгодно довгі проміжки без простих чисел, наприклад:
n ! + 2 , n ! + 3 , n !+4,..., n ! +n .
Гармонійний ряд, як відомо, розходиться. Дивно, що
Твердження 2. Ряд зі зворотних величин до всіх простих чисел розходиться.
Доказ. Нехай X ??N . Маємо:

де значок ?(?означає, що підсумовування ведеться по всіх n>X, у розкладі яких немає простих співмножників, більших за Х. Значить:
і ,
, оскільки гармонійний ряд розходиться. З останнього випливає, що нескінченний добуток
- розходиться до нуля, тобто
.
Виходить, що
.
Ми пам'ятаємо чудову границю: ,
з якої випливає, що:
, звідки:
.
Таким чином, у ряді ,
кожен член менший за відповідний член розбіжного до - ??ряду
отже, ряд розходиться до + ????
Зазначимо, що незважаючи на те, що ряд розходиться, він розходиться все-таки повільніше гармонійного. Про часткові суми цих рядів відомо, що зростає як lnn, у той час, як росте тільки як ln(ln pn ). Більш того, відомий разючий результат Л. Ейлера про те, що границя існує і ?(0,5772... . Число ??називається сталою Ейлера.
Встановимо, який зв'язок між дзета-функцією (яка не мультиплікативна) і функцією Мебіуса ??(n) (яка мультиплікативна). З цього зв'язку зрозуміло, що ?(s) дуже близька до мультиплікативних функцій - просто одиниця, ділена на дзета-функцію, є сумою (нескінченною) мультиплікативних функцій.
Лема 2. Нехай Re( s ) > 1. Тоді:

Доказ. Нехай . У лемі 1 з пункту 14 приймемо ??(x)=1/xs - мультиплікативна функція. Тоді:
,
,
де значок (, означає, що підсумовування ведеться по всіх n>X, у розкладі яких немає простих співмножників, більших за Х. Далі, спрямовуючи Х до нескінченності і згадуючи визначення функції Мебиуса, одержуємо:
,
отже:
. ?
§5. Теорія порівнянь
Пункт 16. Визначення і найпростіші властивості.
Визначення. Нехай а, b ??Z , m ??N. Число а порівняльне з b за модулем m, якщо а і b при діленні на m мають однакові залишки: a ??b(mod m) .
Очевидно, що бінарне відношення порівняння ??m є відношенням еквівалентності на множині цілих чисел, або це відношення є конгруенцією кільця Z, фактор-кільце за якою Z/ ??m називається кільцем лишків і позначається Zm.
Зрозуміло, що число a порівняльне з b за модулем m тоді і тільки тоді, коли a-b ділиться на m без остачі. Очевидно, що це буває тоді і тільки тоді, коли знайдеться таке ціле число t, що a=b+mt. Порівняльність a і b за модулем m означає, що a і b є тим самим елементом у кільці Zm.
Процес збирання цілих чисел у класи порівняльних між собою за модулем m (класи еквівалентності ??m ) ілюструє рисунок:
На ньому зображений процес намотування ланцюжка цілих чисел на кільце з m діленнями, при цьому на одне ділення автоматично попадають порівняльні між собою числа. До речі, ця картинка непогано пояснює і термін "кільце".
Перелічимо, далі, властивості порівнянь, схожі на властивості відношення рівності.
Властивість 1. Порівняння за однаковим модулем можна почленно додавати.
Доказ. Нехай a1??b1(mod m), a2??b2(mod m). Це означає, що a1 =b1 +mt1, a2 =b2 +mt2. Після додавання останніх двох рівностей, одержимо a1 +a2 =b1 +b2 +m(t1 +t2 ), що означає a1+a2??b1 +b2 (mod m).
Властивість 2. Доданок, що стоїть в якій-небудь частині порівняння, можна переносити в іншу частину, змінивши його знак на зворотний.
Доказ. .
Властивість 3. До будь-якої частини порівняння можна додати будь-яке число, кратне модулю.
Доказ. .
Властивість 4. Порівняння за однаковим модулем можна почленно перемножувати і, відповідно,
Властивість 5. Обидві частини порівняння можна піднести до однакового степеня.
Доказ. .
Наслідком перелічених властивостей, є
Властивість 6. Якщо a0 ??b0 (mod m), a1 ??b1 (mod m),..., an ??bn (mod m), x ??y(mod m), то a0xn+a1 xn-1 +...+an ??b0 yn +b1 yn-1 +...+bn (mod m)
Властивість 7. Обидві частини порівняння можна поділити на їхній спільний дільник, взаємно простий з модулем.
Доказ. Нехай a ??b(mod m) , a=a1 d , b=b1 d . Тоді (a1 -b1 ) ??d ділиться на m. Оскільки d і m взаємно прості, то на m ділиться число (a1 -b1 ), що означає a1 ??b1 (mod m).
Властивість 8. Обидві частини порівняння і його модуль можна помножити на те саме ціле число або розділити на їхній спільний дільник.
Доказ.
a ??b(mod m) ??a=b+mt ??ak=bk+mkt ??ak ??bk(mod mk).
Властивість 9. Якщо порівняння a ??b існує за кількома різними модулями, то воно існує й за модулем, що дорівнює найменшому спільному кратному цих модулів.
Доказ. Якщо a ??b(mod m1 ) і a ??b(mod m2 ), то a-b ділиться на m1 і на m2, отже a-b ділиться на найменше спільне кратне m1 і m2.
Властивість 10. Якщо порівняння існує за модулем m, то воно існує і за модулем d, що дорівнює будь-якому дільнику числа m.
Доказ очевидний (випливає з транзитивності відношення подільності: якщо a ??b(mod m), то a-b ділиться на m, отже a-b ділиться на d, де d|m).
Властивість 11. Якщо одна частина порівняння і модуль діляться на деяке число, то й інша частина порівняння мусить ділитися на те ж число.
Доказ.
a ??b(mod m) ??a=b+mt
Приклад. Довести, що для будь-якого натурального n число 37n+2+16n+1+23n ділиться на 7.
Рішення. Очевидно, що 37 ??2(mod 7), 16 ??2(mod 7), 23 ??2(mod 7)
Піднесемо перше порівняння до степеня n+2, друге – до степеня n+1, третє – до степеня n і додамо:

тобто 37n+2+16n+1+23n ділиться на 7.
Пункт 17. Повна і зведена системи лишків.
У попередньому пункті було зазначено, що відношення ??m порівняння за довільним модулем m є відношенням еквівалентності на множині цілих чисел. Це відношення еквівалентності індукує розбиття множини цілих чисел на класи еквівалентних між собою елементів, тобто в один клас об’єднуються числа, що мають при діленні на m однакові залишки. Число класів еквівалентності ??m (індекс еквівалентності ??m) дорівнює m .
Визначення. Будь-яке число з класу еквівалентності ??m називається лишком за модулем m. Сукупність лишків, узятих по одному з кожного класу еквівалентності ??m, називається повною системою лишків за модулем m (у повній системі лишків усього m чисел). Безпосередньо самі залишки ділення на m називаються найменшими невід’ємними лишками і утворюють повну систему лишків за модулем m. Лишок ??називається абсолютно найменшим, якщо ????найменший серед модулів лишків даного класу.
Приклад : Нехай m = 5 . Тоді:
0, 1, 2, 3, 4 - найменші невід’ємні лишки;
-2, -1, 0, 1, 2 - абсолютно найменші лишки.
Обидві наведені множини чисел утворять повні системи лишків за модулем 5 .
Лема 1. 1) Будь-які m попарно непорівняльних за модулем m чисел утворюють повну систему лишків за модулем m .
2) Якщо а і m взаємно прості, а x набуває значень з повної системи лишків за модулем m, то значення лінійної форми ах+b, де b - будь-яке ціле число, також набувають значень з повної системи лишків за модулем m.
Доказ. Твердження 1) – очевидне. Доведемо твердження 2). Чисел ах+b є m штук. Покажемо, що вони між собою непорівняльні за модулем m. Нехай для деяких різних x1 і x2 з повної системи лишків виявилося, що ax1+b??ax2+b(mod m). Тоді, за властивостями порівнянь з попереднього пункту, одержуємо:
ax1 ??ax2 (mod m) x1 ??x2 (mod m)
– протиріччя з тим, що x1 і x2 різні й узяті з повної системи лишків.
Оскільки всі числа з даного класу еквівалентності ??одержуються з одного числа даного класу додаванням числа, кратного m, то всі числа даного класу мають з модулем m той самий найбільший спільний дільник.
Визначення. Зведеною системою лишків за модулем m називається сукупність усіх лишків з повної системи, взаємно простих з модулем m.
Зведену систему звичайно вибирають з найменших невід’ємних лишків. Зрозуміло, що зведена система лишків за модулем m містить ?(m) лишків, де ?(m) – функція Ейлера – кількість чисел, менших за m і взаємно простих з m.
Приклад. Нехай m = 42. Тоді зведеною системою лишків є:
1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41.
Лема 2. 1) Будь-які ?(m) чисел, попарно непорівняльні за модулем m і взаємно прості з модулем, утворюють зведену систему лишків за модулем m.
2) Якщо (a,m)=1 і x набуває значень із зведеної системи лишків за модулем m, то ах так само набуває значень із зведеної системи лишків за модулем m.
Доказ. Твердження 1) – очевидне. Доведемо твердження 2). Числа ах попарно непорівняльні (доводиться так само, як лема 1 цього пункту), їх є ?(m) штук. Зрозуміло, що усі вони взаємно прості з модулем, оскільки (a,m)=1, (x,m)=1 ??(ax.m)=1. Таким чином числа ах утворять зведену систему лишків.
Лема 3. Нехай m1, m2, ..., mk – попарно взаємно прості і m1 m2 ...mk =M1 m1=M2 m2=...=Mk mk, де Mj =m1 ...mj-1 mj+1 ...mk
1) Якщо x1 , x2 , ..., xk набувають значень з повних систем лишків за модулями m1, m2, ..., mk відповідно, то значення лінійної форми M1 x1 +M2 x2 + ...+Mk xk набувають значень з повної системи лишків за модулем m=m1 m2 ...mk .
2) Якщо ?1 , ?2 , ..., ?k набувають значень із зведених систем лишків за модулями m1, m2, ..., mk відповідно, то значення лінійної форми M1 ?1 +M2 ?2 + ...+Mk ?k набувають значень із зведеної системи лишків за модулем m=m1 m2 ...mk .
Доказ.
1) Форма M1 x1 +M2 x2 + ...+Mk xk приймає m1 m2 ...mk=m значень. Покажемо, що ці значення попарно непорівняльні. Нехай
M1 x1 +M2 x2 + ...+Mk xk ??M1 x1??+M2 x2??+ ...+Mk xk ??(mod m)
Усяке Mj, що відмінне від Ms, кратне до ms. Забираючи зліва і справа в останньому порівнянні що додаються, кратні до ms, одержимо:
Ms xs ??Ms xs??(mod ms ) ??xs ??xs??(mod ms )
– протиріччя з тим, що xs набуває значень з повної системи лишків за модулем ms.
2). Форма M1 ?1 +M2 ?2 + ...+Mk ?k приймає ?(m1) ?(m2) ?... ??(mk)=?(m1 m2 ??... ??mk )=?(m) (функція Ейлера мультипликативна!) різних значень, що між собою за модулем m=m1 m2 ...mk попарно непорівняльні. Останнє доводиться міркуваннями, аналогічними з доказом твердження 1) цієї леми. Оскільки (M1?1+M2?2+...+Mk?k,ms)=(Ms?s,ms)=1 для кожного 1?s??k, то (M1?1+M2?2+...+Mk?k ,ms)=1, отже множина значень форми M1?1+M2?2+...+Mk?k утворить зведену систему лишків за модулем m.
Лема 4. Нехай x1, x2, ...,xk , x набувають значень з повної, а ?1, ?2 ,..., ?k , ??– набувають значень із зведених систем лишків за модулями m1, m2, ..., mk і m=m1 m2 ...mk відповідно, де (mi mj )=1 при i?j. Тоді дроби {x1/m1+x2/m2+...+xk /mk } збігаються з дробами {x/m}, а дроби {?1 /m1 +?2 /m2+...+?k /mk} збігаються з дробами {??/m}.
Доказ. Доказ обох тверджень леми 4 одержується із застосуванням попередньої леми 3 після того, як звести кожну суму {x1 /m1 +x2 /m2 +...+xk /mk } і {?1 /m1+?2 /m2+...+?k /mk } до спільного знаменника:
{x1 /m1 +x2 /m2 +...+xk /mk }={(M1 x1 +M2 x2 +...+Mk xk )/m};
{?1 /m1 +?2 /m2 +...+?k /mk }={(M1 ?1 +M2 ?2 +...+Mk ?k )/m},
де Mj =m1 ...mj-1 mj+1 ...mk .
Якщо врахувати, що дробові частини чисел, що одержуються при діленні на модуль m будь-яких двох чисел, порівняльних за модулем m, однакові (вони рівні r/m, де r – найменший невід’ємний лишок даного класу), то твердження дійсної леми очевидні.
Перейдемо до підсумовування комплексних коренів m -ого степеня з одиниці. Позначимо через ?k k -ий корінь m- ого степеня з одиниці:
,
де k=0,1,...,m-1 – набуває значень з повної системи лишків за модулем m.
Нагадаємо, що сума ?0 +?1+...+?m-1 усіх коренів m -ого степеня з одиниці дорівнює нулю для будь-якого m. Нехай ?0 +?1 +...+?m-1 =a. Помножимо цю суму на ненульове число ?1. Таке множення геометрично в комплексній площині означає поворот правильного m -кутника, у вершинах якого розташовані корені ?0, ?1,..., ?m-1, на ненульовий кут 2?/m. При цьому корінь ?0 перейде в корінь ?1, корінь ?1 перейде в корінь ?2, і т.д., а корінь ?m-1 перейде в корінь ?0, тобто сума ?0 + ?1 +...+ ?m-1 не зміниться. Маємо ?1 a=a, звідки a=0.
Теорема 1. Нехай m>0 - ціле число, a ??Z, x набуває значень з повної системи лишків за модулем m. Тоді, якщо а кратне m, то

в іншому випадку, при а не кратному m, .
Доказ. При а кратному m маємо: a=md і
.
Якщо а не ділиться на m, то розділимо чисельник і знаменник дробу a/m на d – найбільший спільний дільник а і m, одержимо нескоротний дріб a1 /m1. Тоді, за лемою 1, a1 x набуватиме значень з повної системи лишків за модулем m. Маємо:
,
оскільки сума всіх коренів степеня m1 з одиниці дорівнює нулю.
Нагадаю, що корінь ?k m -ого степеня з одиниці називається первісним, якщо його індекс k взаємно простий з m. У цьому випадку послідовні степені ?k1, ?k2,..., ?km-1 кореня ?k утворять сукупність коренів m -ого степеня з одиниці або, іншими словами, ?k є породжуючим елементом циклічної групи всіх коренів m -ого степеня з одиниці.
Очевидно, що кількість первісних коренів m -ого степеня з одиниці дорівнює ?(m), де ??– функція Ейлера, оскільки індекси первісних коренів утворять зведену систему лишків за модулем m.
Теорема 2. Нехай m>0 – ціле число, ??набуває значень із зведеної системи лишків за модулем m. Тоді (сума первісних коренів степеня m):
,
де ?(m) – функція Мебіуса.
Доказ. Нехай m=p1?1 p2 ?2 ...pk ?k – канонічний розклад числа m; m1 =p1?1, m2 =p2?2, m3=p3?3; ?i набуває значень із зведеної системи лишків за модулем mi. Маємо:

При ?s=1 одержується, що лише корінь ?0=1 не є первісним, тому сума всіх первісних коренів є сумою всіх коренів мінус одиниця:

Таким чином, якщо m не ділиться на r2, при r>1, то .
Якщо ж який-небудь показник ?s більший за одиницю (тобто m ділиться на r2, при r>1), то сума всіх первісних коренів степеня ms є сумою всіх коренів степеня ms мінус сума всіх не первісних коренів, тобто всіх коренів деякого степеня, меншого за ms. Якщо ms =ps ms* , то:
.
Пункт 18. Теорема Ейлера і теорема Ферма.
Невелике есе про Ейлера
Як учений, Ейлер (1707–1783) сформувався у швейцарському місті Базелеві, університет якого довгий час був осередком європейської науки того часу. Леонард вивчав математику під посібником Йоганна Бернуллі, а коли в 1725 році син Йоганна Микола виїхав у Петербург, молодий Ейлер пішов за ним у недавно засновану Російську (Петербурзьку) Академію Наук. Ейлер жив у Росії до 1741 року, потім перейшов в Берлінську академію під особливе заступництво Фрідріха Другого, а з 1766 року він знову в Росії. Ейлера з повним правом можна вважати російським ученим, тому що основні роки його творчості пройшли в Петербурзі і він був академіком саме Петербурзької Академії Наук під особливим заступництвом Катерини Великої.
Сліпий Ейлер, користаючись своєю феноменальною пам'яттю, диктував свої роботи, загальне число яких досягло 886. Його роботи присвячені аналізу, алгебрі, дискретній математиці (теорії графів), варіаційному численню, функціям комплексної змінної, астрономії, гідравліці, теоретичній механіці, кораблебудуванню, артилерії, теорії музики і т.д., і т.п. Колосальна продуктивність і "пробивна сила" Ейлера в різних областях математики і нематематики була і залишається приводом подиву. Можна скласти довжелезний список відомих і важливих математичних відкриттів, пріоритет у який належить Ейлеру. Можна скласти величезний перелік його ідей, що ще чекають своєї розробки.
Хочеться додати, що в мирському житті Ейлер був розважливою і спокійною людиною. Він був двічі одружений і мав тринадцять дітей. Про його надзвичайну побожність ходять легенди. Говорять, що коли Петербурзький двір відвідав з візитом відомий французький богохульник Вольтер, для ведення суперечки з ним був запрошений Ейлер, що заліз на стілець і гробовий голос вимовив у захист Бога залізний аргумент: "Синус квадрат плюс косинус квадрат дорівнює одиниці, значить Бог існує!". Вольтер у шоку ретирувався у Францію.
Теорема (Ейлер). Нехай m>1, (a,m)=1, ?(m) – функція Ейлера. Тоді:
a?(m) ??1(mod m).
Доказ. Нехай х набуває значення із зведеної системи лишків за mod m:
x=r1,r2,...,rc
де c=?(m) їх кількість, r1,r2,..., rc - найменші невід’ємні лишки за mod m. Отже, найменші невід’ємні лишки, що відповідають числам ax є відповідно:
??1 , ??2 ,..., ??c
– теж набувають значень із зведеної системи лишків, але в іншому порядку (див. Лему 2 з пункту 17). Значить:
a ??r1 ?????(mod m)
a ??r2 ?????(mod m)
...
a ??rc ?????(mod m)
Перемножимо ці с порівнянь. Вийде:
ac r1 r2 ...rc ??j 1 ?j 2 ... ?j c (mod m)
Оскільки r1 r2 ...rc = ?1 ?2 ... ?c ??0 і взаємно просте з модулем m, то, поділивши останнє порівняння на r1 r2 ...rc, одержимо a?(m) ??1(mod m).
Друга теорема цього пункту - теорема Ферма – є безпосереднім наслідком теореми Ейлера.
Теорема (Ферма). Нехай р – просте число, р не ділить a. Тоді:
ap-1 ??1(mod p) .
Доказ 1. Нехай в умові теореми Ейлера m=p, тоді ?(m)=p-1 (див. пункт 14 ). Одержуємо ap-1 ??1(mod p).
Необхідно відзначити важливість умови взаємної простоти модуля і числа a у формулюваннях теорем Ейлера і Ферма. Простий приклад: порівняння 62 ??1(mod 3) очевидно не виконується. Однак можна легко підправити формулювання теореми Ферма, щоб зняти обмеження взаємної простоти.
Наслідок 1. Без всяких обмежень на a ??Z,
ap ??a(mod p) .
Доказ. Помножимо обидві частини порівняння ap-1 ??1(mod p) на a. Зрозуміло, що вийде порівняння, справедливе і при a, кратному р.
Звичайно, доказ 1 теореми Ферма вийшов настільки коротким завдяки проведеній могутній попередній підготовці (доведена теорема Ейлера і вивчені властивості функції ?(m)). Наведемо ще один варіант доказу теореми Ферма.
Доказ 2. Оскільки р - просте число, то всі біноміальні коефіцієнти (крім C0p і Cpp) діляться на р, тому що чисельник виписаного виразу містить р, а знаменник не містить цього множника. Якщо згадати біном Ньютона, то стає зрозуміло, що різниця (A+B)p-Ap -Bp= =Cp1Ap-1B1+Cp2Ap-2B2+...+Cpp-2A2Bp-2+Cpp-1A1Bp-1, де А і В – довільні цілі числа, завжди ділиться на р. Послідовним застосуванням цього спостереження одержуємо, що (A+B+C)p--Ap-Bp-Cp={[(A+B)+C]p-(A+B)p-Cp}+(A+B)p -Ap -Bp завжди ділиться на р; (A+B+C+D)p-Ap–Bp -Cp-Dp завжди ділиться на р; і взагалі, (A+B+C+...+K)p -Ap-Bp-Cp-...-Kp завжди ділиться на р. Нехай A=B=C=...=K=1 і візьмемо кількість цих чисел рівним a. Вийде, що ap-a ділиться на р, а це і є теорема Ферма в більш загальному формулюванні.
Наслідок 2. (a+b)p ??ap +bp (mod p).
Наведемо кілька прикладів застосування теорем Ферма і Ейлера. Зазначимо, що ефективність застосування теорем Ферма і Ейлера ґрунтується на тому, що порівняння, що даються цими теоремами, зручно підносити до степеня, оскільки справа у них стоїть одиниця, що на піднесення до степеня не реагує.
Приклад 1. Дев'ятий ступінь однозначного числа закінчується на 7. Знайти це число.
Розв’язування. a9 ??7(mod 10) – дано. Крім того, (7, 10)=1 і ( a , 10)=1. За теоремою Ейлера, a?(10) ??1(mod 10). Отже, a4 ??1(mod 10) і, після піднесення до квадрату, a8 ?1(mod 10). Поділимо почленно a9 ??7(mod 10) на a8 ??1(mod 10) і одержимо a?7(mod 10). Це означає, що a=7.
Приклад 2. Довести, що 118 +218 +318 +418 +518 +618 ??-1(mod 7)
Доказ. Числа 1, 2, 3, 4, 5, 6 взаємно прості з 7. За теоремою Ферма маємо:

Піднесемо ці порівняння до кубу і додамо:
118 +218 +318 +418 +518 +618 ??6(mod 7) ??-1(mod 7)
Приклад 3. Знайти залишок ділення 7402 на 101.
Рішення. Число 101 – просте, (7, 101)=1, отже, за теоремою Ферма: 7100?1(mod 101). Піднесемо це порівняння до четвертої степені: 7400?1(mod 101), домножимо його на очевидне порівняння 72?49(mod 101), одержимо: 7402??49(mod 101). Виходить, що залишок ділення 7402 на 101 дорівнює 49.
Приклад 4. Знайти дві останні цифри числа 243402.
Рішення. Дві останні цифри цього числа є залишком ділення його на 100. Маємо: 243=200+43; 200+43 ??43(mod 100) і, піднімаючи останнє очевидне порівняння в 402-у степінь, розкриємо його ліву частину за біномом Ньютона. У цьому гігантському виразі всі доданки, крім останнього, містять ступінь числа 200, тобто діляться на 100, тому їх можна викинути з порівняння, після чого зрозуміло, чому 243402 ??43402(mod 100). Далі, 43 і 100 взаємно прості тому, за теоремою Ейлера, 43?(100)?1(mod 100). Вважаємо:
?(100)= ?(22 ??52 )=(10–5)(10–2)=40.
Маємо порівняння: 4340?1(mod 100), що піднесемо в десяту степінь і помножимо почленно на порівняння: 432 ??49(mod 100). Одержимо:

отже, дві останні цифри числа 243402 є 4 і 9.
Приклад 5. Довести, що (7312 -1) поділяється на 105.
Рішення. Маємо: 105=3 ??5 ??7, (73,3)=(73,5)=(73,7)=1. По теоремі Ферма:
732 ??1(mod 3)
734 ??1(mod 5)
736 ??1(mod 7)
Перемножуючи, одержуємо:
7312 ??1(mod 3),(mod 5),(mod 7),
звідки, за властивостями порівнянь, з пункту 16, випливає:
7312 -1 ??0(mod 105),
Пункт 19. Порівняння першого степеня.
У наступних трьох пунктах навчимося розв’язувати порівняння з одним невідомим виду:
f(x) ??0(mod m),
де f(x)=a0 xn +a1 xn-1 +...+an-1 x+an – многочлен з цілими коефіцієнтами. Якщо m не ділить a0, то говорять, що n – ступінь порівняння. Зрозуміло, що якщо яке-небудь число х підходить для порівняння, то для цього ж порівняння підійде і будь-яке інше число, порівняльне з х за mod m.
Розв’язати порівняння – означає знайти всі ті х, що задовольняють даному порівнянню, при цьому весь клас чисел за mod m вважається одним розв’язком.
Таким чином, число розв’язків порівняння є числом лишків з повної системи, що цьому порівнянню задовольняють.
Приклад. Дано порівняння: x5 +x+1 ??0(mod 7)
З чисел: 0, 1, 2, 3, 4, 5, 6, це порівняння задовольняють два: x1 =2, x2 =4. Це означає, що в даному порівнянні два розв’язки:
x ??2(mod 7) і x ??4(mod 7) .
Порівняння називаються рівносильними, якщо вони мають однакові розв’язки – повна аналогія з поняттям рівносильності рівнянь. Однак, на відміну від алгебраїчних рівнянь, що часто нерозв'язуються радикалами, порівняння будь-якого ступеня завжди розв’язується, наприклад, перебором усіх лишків за mod m. Перебір і підставлення всіх лишків - найчастіше дуже довгий процес (особливо, при великих m і n), але і тут існують набори інструкцій, виконуючи які можна завжди знайти всі розв’язки даного порівняння будь-якого степеня, минаючи процес перебору.
Розглянемо порівняння першого степеня виду ax??b(mod m), (два випадки).
Випадок 1. Нехай а і m взаємно прості. Тоді нескоротний дріб m/a розкладається в ланцюговий дріб:

Цей ланцюговий дріб, зрозуміло, скінченний, тому що m/a - раціональне число. Розглянемо два останні прямуючі дроби:
;
Згадуємо (пункт 9) властивість чисельників і знаменників прямуючих дробів: mn-1-an-1=
=(-1)n. Далі (доданок mn-1, кратний m, можна викинути з лівої частини порівняння):
-an-1 ??(-1)n (mod m) тобто
an-1 ??(-1)n-1 (mod m) тобто
a[(-1)n-1 Pn-1 b] ??b(mod m)
і єдиним розв’язком вихідного порівняння є:
x ??(-1)n-1 Pn-1 b(mod m)
Приклад. Розв’язати порівняння 111x ??75(mod 322).
Розв’язування. (111, 322)=1. Включаємо алгоритм Евкліда:
322=11 · 2+100
111=100 · 1+11
100=11 · 9+1
11=1 · 11
(У рівностях підкреслені неповні частки.) Виходить, n=4, а відповідний ланцюговий дріб:

Порахуємо чисельники прямуючих дробів, склавши для цього стандартну таблицю:
0
2
1
9
11

P n
1
2
3
29
322

Чисельник передостаннього прямуючого дробу дорівнює 29, отже, маємо відповідь:
x ??(-1)3 ??29 ??75 ??-2175 ??79(mod 322)
Іншими словами, дано порівняння ax ??b(mod m), де a і m взаємно прості. Візьмемо алгоритм Евкліда і знайдемо u, v ??Z такі, що au+vm=1. Помножимо цю рівність на b: aub+vmb=b, звідки випливає: aub ??b(mod m). Отже розв’язком вихідного порівняння є x??ub(mod m).
Випадок 2. Нехай (a,m)=d. У цьому випадку, для можливості розв'язку порівняння ax??b(mod m) необхідно, щоб d ділило b, інакше порівняння узагалі виконуватися не може. Дійсно, ax??b(mod m) буває тоді, і тільки тоді, коли ax-b ділиться на m без остачі, тобто ax-b=t · m,
t ??Z, звідки b=ax-t ??m , а права частина останньої рівності кратна d.
Нехай b=db1, a=da1, m=dm1. Тоді обидві частини порівняння xa1 d??b1 d(mod m1 d) і його модуль поділимо на d :
xa1 ??b1 (mod m1),
де вже а1 і m1 взаємно прості. Згідно випадку 1 цього пункту, таке порівняння має єдиний розв’язок x0 :
x ??x0 (mod m1 ) (*)
За вихідним модулем m, числа (*) утворять стільки розв’язків вихідного порівняння, скільки чисел виду (*) міститься в повній системі лишків: 0,1,2,..., m-2, m-1. Очевидно, що з чисел x=x0+t??m в повну систему найменших невід’ємних лишків попадають лише x0, x0+m1, x0+2m1, ..., x0+(d-1)m1, тобто усього d чисел. Значить у вихідного порівняння є d розв’язків.
Теорема 1. Нехай (a,m)=d . Якщо b не ділиться на d, то порівняння ax??b(mod m) немає розв’язків. Якщо b кратне d, то порівняння ax??b(mod m) має d розв’язків.
Приклад. Розв’язати порівняння 111x ??75(mod 321) .
Розв’язування. (111,321)=3, тому поділимо порівняння і його модуль на 3:
37x ??25(mod 107) і (37,107)=1.
Включаємо алгоритм Евкліда (підкреслені неповні частки):
107=37 ??2+33
37=33 ??1+4
33=4 ??8+1
4=1 ??4
Маємо n=4 і ланцюговий дріб такий:

Таблиця для знаходження чисельників прямуючих дробів:
qn
0
2
1
8
4

Pn
1
2
3
26
107

Одержуємо, x ??(-1)3 ??26 ??25 ??-650(mod 107) ??-8(mod 107) ??99(mod 107).
Три розв’язки вихідного порівняння:
x??99(mod 321), x??206(mod 321), x??313(mod 321),
і інших розв’язків немає.
Розглянемо інші способи розв’язування порівнянь першого ступеня. Ці способи викладаються далі у виді теорем.
Теорема 2. Нехай m>1, (a,m)=1 Тоді порівняння ax??b(mod m) має розв’язок:
x?ba?(m)-1(mod m).
Доказ. За теоремою Ейлера, маємо: a?(m)??1(mod m), отже, a??ba?(m)-1??b(mod m).
Приклад. Розв’язати порівняння 7x??3(mod 10). Обчислюємо:
?(10)=4; x??3 ??74-1 (mod 10) ??1029(mod 10) ??9(mod 10).
Цей спосіб розв’язування порівнянь гарний, але може зажадати піднесення числа а до великого степеня.
Теорема 3. Нехай р – просте число, 0<a<p. Тоді порівняння ax??b(mod p) має розв’язок:

де Ca p – біноміальний коефіцієнт.
Доказ випливає з очевидного порівняння

яке необхідно почленно поділити на взаємно просте з модулем число 1 ??2 ??3 ??... ??a-1.
Приклад. Розв’язати порівняння 7x ??2(mod 11) . Обчислюємо:

Перейдемо до систем порівнянь першого степеня.
Лема 1 (Китайська теорема про лишки). Нехай дана найпростіша система порівнянь першого степеня:
(*)
де m1,m2,...,mk попарно взаємно прості. Нехай, m1 m2 ...mk =Ms ms; Ms Ms????1(mod ms) (Очевидно, що таке число Ms???завжди можна підібрати хоча б за допомогою алгоритму Евкліда, оскільки (ms, Ms )=1); x0 =M1 M1??b1+M2 M2??b2 +...+Mk Mk??bk. Тоді система (*) рівносильна одному порівнянню
x ??x0 (mod m1 m2 ...mk ),
а саме набір розв’язків (*) збігається з набором розв’язків порівняння x??x0(mod m1m2 ...mk).
Доказ. Маємо: ms ділить Mj, при s?j. Отже, x0 ??Ms Ms??bs (mod ms), звідки x0??bs(mod ms). Це означає, що система (*) рівносильна системі

яка, у свою чергу, рівносильна одному порівнянню x??x0 (mod m1 m2 ...mk ).
Приклад. Знайти число, що при діленні на 4 дає в залишку 1, при діленні на 5 дає в залишку 3, а при діленні на 7 дає в залишку 2.
Складемо систему:
,
яку розв’язуємо за допомогою леми 1.
b1 =1; b2 =3; b3 =2; m1 m2 m3 , тобто M1 =35, M2 =28, M3 =20.
35 ??3 ??1(mod 4)
28 ??2 ??1(mod 5)
20 ??6 ??1(mod 7)
тобто M1??=3, M2??=2, M3??=6. Значить x0 =35 ??3 ??1+28 ??2 ??3+20 ??6 ??2=513. Після цього, за лемою 1:
x ??513(mod 140) ??93(mod 140),
а саме найменше додатне число дорівнює 93.
У наступній лемі, для стислості формулювання, збережені позначення леми 1.
Лема 2. Якщо b1 ,b2 ,...,bk набувають значення з повних систем лишків за модулями m1,m2,...,mk відповідно, то x0 набуває значення з повної системи лишків за модулями m1 m2 ...mk .
Доказ. Дійсно, x0 =A1 b1 +A2 b2 +...+Ak bk набуває m1 m2 ...mk різних значень. Покажемо, що усі вони попарно непорівняльні за модулями m1 m2 ...mk .
Нехай виявилося, що
A1 b1 +A2 b2 +...+Ak bk ??A1 b'1 +A2 b'2 +...+Ak b'k (mod m1 m2 ...mk ).
Тоді
A1 b1 +A2 b2 +...+Ak bk ??A1 b'1 +A2 b'2 +...+Ak b'k (mod ms )
для кожного s, звідки
Ms Ms??bs ??Ms Ms??b's
Згадаємо тепер, що Ms Ms????1(mod ms), значить Ms Ms????1+ms??t, звідки (Ms Ms??,ms)=1. Розділивши тепер обидві частини порівняння
Ms Ms??bs ??Ms Ms??b's
на число Ms Ms??, взаємно просте з модулем, одержимо, що bs ??b's (mod ms), тобто bs=b's для кожного s.
Отже, x0 набуває m1 m2 ...mk різних значень, попарно непорівняльних за модулями m1 m2 ...mk , а саме значення з повної системи лишків.
Пункт 20. Порівняння будь-якого степеня за простим модулем.
У цьому пункті розглянемо порівняння виду f(x) ??0(mod p), де р - просте число, f(x)=axn +a1 xn-1+…+an-многочлен з цілими коефіцієнтами, і навчимося ці порівняння розв’язувати.
Лема 1. Довільне порівняння f(x) ??0(mod p), де р - просте число, рівносильне деякому порівнянню степеня не вищого за p-1.
Доказ. Розділимо f(x) на многочлен xp-x ("многочлен ділення круга") із залишком: f(x)=(xp-x)??Q(x)+R(x), де, як відомо, степінь залишку R(x) не перевищує р-1. Але за теоремою Ферма, xp-x??0(mod p). Це означає, що f(x)??R(x)(mod p), а вихідне порівняння рівносильне порівнянню R(x)??0(mod p).
За допомогою доведеної леми можна звести розв’язування порівняння високого степеня до розв’язування порівняння меншого степеня.
Лема 2. Якщо порівняння axn+a1 xn-1+…+an??0(mod p) степеня n за простим модулем р має більше n різних розв’язків, то всі коефіцієнти a,a1 ,…,an кратні р.
Доказ. Нехай порівняння axn +a1 xn-1+…+an??0(mod p), має n+1 розв’язок і x1 ,x2 ,…,xn,xn+1–найменші невід’ємні лишки цих розв’язків. Тоді многочлен f(x) представимо у виді:
f(x)=a(x-x 1 )(x-x 2 )…(x-xn-2)(x-xn-1)(x-xn)+
+b(x-x1)(x-x2)…(x-xn-2)(x-xn-1)+
+c(x-x1)(x-x2)…(x-xn-2)+
+…+
+k(x-x1)(x-x2)+
+l(x-x1)+
+m.
Дійсно, коефіцієнт b мусить дорівнювати коефіцієнту при xn-1 у різниці f(x)-a(x-x1 )(x-x2)…(x-xn); коефіцієнт с – це коефіцієнт перед xn-2 у різниці f(x)-a(x-x1 )(x-x2 )…(x-xn)-b(x-x1)(x-x2)…(x-xn-1),і т.д.
Тепер підставимо послідовно x=x1 ,x2 ,…,xn,xn+1... Маємо:
f(x1)=m ??0(mod p), отже, р ділить m.
f(x2 )=m+l(x2 -x1 ) ??l(x2 -x1 )??0(mod p), отже, р ділить l, тому що р не може поділяти x2 -x1, оскільки x2<p, x1<p.
f(x3)??k(x3 -x1 )(x3 -x2 )??0(mod p), отже, р ділить k. І т.д.
Виходить, що всі коефіцієнти a, b, c,...,k, l кратні р. Це означає, що всі коефіцієнти a,a1,…,an теж кратні р, адже вони є сумами чисел, кратних р. (Переконайтеся в цьому самостійно, розкривши дужки в написаному вище розкладі многочлена f(x) на суми добутків лінійних множників.)
Зверніть увагу на умови простоти модуля порівняння у формулюванні леми 2. Якщо модуль- число складне, то порівняння n-ого степеня може мати більше n розв’язків, при цьому, коефіцієнти многочлена не мусять бути кратними р. Приклад: порівняння другого степеня x2?1(mod 16) має аж цілих чотири різних розв’язки:
x?1(mod 16), x?7(mod 16), x??9(mod 16), x?15(mod 16).
Довільне нетривіальне порівняння за mod p рівносильне порівнянню степеня не вищого за p-1 і має не більше p-1 розв’язків.
Теорема (Вільсона). Порівняння (p-1)!+1??0(mod p) виконується тоді і тільки тоді, коли р- просте число.
Доказ. Нехай р - просте число. Якщо р=2, то 1!+1 ??0(mod 2). Якщо р>2, то розглянемо порівняння:
[(x-1)(x-2)…(x-(p-1))]-(xp-1-1)??0(mod p) .
Зрозуміло, що це порівняння степеня не вищого за р-2, але воно має р-1 розв’язок: 1, 2, 3, ... , р-1, тому що при підстановці кожного з цих чисел, доданок у квадратних дужках стає рівним нулю, а (xp-1 ) порівняльне з нулем за теоремою Ферма (х і р взаємно прості, тому що х<р). Це означає, за лемою 2, що всі коефіцієнти виписаного порівняння кратні р, зокрема, на р ділиться його вільний член, рівний 1 ??2 ??3 ??... ??(р–1)+1.
Оскільки коефіцієнти многочлена є значеннями симетричних многочленів від його коренів, то тут з’явився шлях для доказу порівнянь для симетричних многочленів.
Назад. Якщо р – не просте, то знайдеться дільник d числа р, 1<d<p. Тоді (р–1)! ділиться на d, тому (р–1)!+1 не може ділитися на d і, виходить, не може ділитися також і на р. Отже, порівняння (p-1)!+1 ??0(mod 2) не виконується.
Приклад. 1??2??3??... ??10+1=3628800+1=3628801 – ділиться на 11 (Ознака ділення на 11- якщо сума цифр у десятковому записі числа на парних позиціях збігається із сумою цифр на непарних позиціях, то число кратне 11).
Приклад-задача. Довести, що якщо просте число р представляється у виді 4n+1, то існує таке число х, що х 2 +1 ділиться на р.
Розв’язування. Нехай р=4n+1 – просте число. За теоремою Вільсона, (4n)!+1 ділиться на р. Замінимо у виразі 1??2??3??... ??(4n)+1 усі множники більші за (p-1)/2=2n на різниці числа р і чисел менших за (p-1)/2=2n. Одержимо:
(p-1)!+1=1??2??3??… ??2n??(p-2n)(p-2n+1)??… ??(p-1)=(1??2??3??… ??2n)[A??p+(-1)2n ??2n??(2n-1)??…??2??1]+1 = A1 p+(1 ??2 ??3 ??… ??2n)2)+1.
Оскільки це число ділиться на р, то й сума (1 ??2 ??3 ??… ??2n)2 +1 ділиться на р, тобто x=(2n)!=((p-1)/2)!.
Натуральне число N тоді і тільки тоді представляється у виді суми двох квадратів, коли в розкладі N на прості множники всі прості множники виду 4n+3 входять у парних степенях. Спробуйте самостійно довести це твердження.
Теорема. Для будь-якого натурального k існує таке натуральне N, яке залежить від k, що кожне натуральне число представляється у виді суми не більш ніж N доданків, що є k-ми степенями цілих чисел.
Для цієї теореми відомо кілька різних неелементарних доказів, але в 1942 році ленінградський математик Ю.В. Лінник придумав чисто арифметичний елементарний доказ, що, однак, є винятково складним. Що стосується функції N(k ), то тут, у даний час майже нічого не зрозуміло. Всяке натуральне число представляється у виді суми чотирьох квадратів, дев'яти кубів (число 9 не може бути зменшене), 21 штуки четвертих ступенів (от отут, здається, що 21 може бути зменшене до 19). Далі – повний туман. Усяке раціональне число представляється у виді суми трьох кубів раціональних чисел.
Доказ цього твердження вперше отримано в 1825 році. Виглядає воно разюче: для раціонального числа а безпосередньо пишеться його представлення у виді суми трьох кубів раціональних чисел:

Пункт 21. Порівняння будь-якого степеня за складним модулем.
Теорема 1. Якщо числа m1, m2,…mk попарно взаємно прості, то порівняння f(x)?0(mod m1m2 … mk ) рівносильне системі порівнянь:

При цьому, якщо Т1, Т2, ..., Тк — кількість розв’язків окремих порівнянь цієї системи за відповідними модулями, то кількість розв’язків Т вихідного порівняння дорівнює Т1Т2...Тк.
Доказ. Перше твердження теореми (про рівносильність системи і порівняння) очевидно, тому що якщо a?b(mod m), то a?b(mod d), де d ділить m. Якщо ж a?b(mod m1) і a?b(mod m2), то a?b(mod HСK (m1, m2)), де НСК (m1, m2)– найменше спільне кратне m1 і m2. (Згадайте властивості порівнянь з пункту 16).
Перейдемо до другого твердження теореми (про кількість розв’язків порівняння).
Кожне порівняння f(x)??0(mod ms) виконується тоді і тільки тоді, коли виконується одне з Ts порівнянь виду x ??bs(mod ms), де bs набувають значення лишків розв’язків порівняння f(x)??0(mod ms). Усього різних комбінацій таких найпростіших порівнянь

Т1Т2...Тk штук. Усі ці комбінації, за лемою 2 пункту 19, приводять до різних класів лишків за mod(m1m2…mk)...
Отже, розв’язування порівняння зводиться до розв’язування порівнянь виду f(x)??0(mod pa). Виявляється, що розв’язування цього останнього порівняння, у свою чергу, зводиться до розв’язування деякого порівняння g(x)??0(mod p) з іншим многочленом у лівій частині, але вже з простим модулем, що було розглянуто в попередньому пункті. Зведемо розв’язування порівняння f(x)?0(mod pa) до розв’язування порівняння g(x)??0(mod p).
Процес зведення.
Очевидно, що з виконання порівняння f(x)??0(mod pa) випливає те, що х підходить у порівняння f(x)?0(mod p). Нехай x??x1(mod p) – який-небудь розв’язок порівняння f(x)??0(mod p). Це означає, що
x = x1 + p ??t1, де t1 ??Z.
Підставимо це х у порівняння f(x)?0(mod p2). Одержимо порівняння
f(x1+p??t1)??0(mod p2),
яке теж, мабуть, виконується.
Розкладемо далі ліву частину отриманого порівняння за формулою Тейлора за степенями (х - х1):

Оскільки x=x1+p??t1, то
.
Зауважимо, що число f(k)(x1)/ k! завжди ціле, бо f(x1+p??t1) – многочлен з цілими коефіцієнтами. Тепер у порівнянні
f(x1+p?t1)??0(mod p2)
можна зліва відкинути члени, кратні р2:
.
Розділимо останнє порівняння і його модуль на р:
.
Зауважимо знову, що f(x1)/ p – ціле число, тому що f(x1)?0(mod p). Далі обмежимося випадком, коли значення похідної f??(x1) не ділиться на р. У цьому випадку існує єдиний розв’язок порівняння першого степеня
відносно t1: t1?t1??(mod p).
Це означає, що t1=t1??+p?t2, де t2 ??Z, і
.
Підставимо це x=x2 +p2t2 у порівняння f(x)??0(mod p3) (але тепер це порівняння за mod p3), розкладемо його ліву частину за формулою Тейлора за степенями (х-х2) і відкинемо члени, кратні p3:
f(x2)+(f??(x2)/1!)??p2t2 ?0(mod p3).
Поділимо це порівняння і його модуль на р2:
f(x2)/p2+f??(x2)??t2?0(mod p).
Знову ж f(x2)/p2 – ціле число, адже число t1??таке, що f(x1+p??t1??)?0(mod p2). Крім того, x2?x1(mod p), значить f??(x2)??f??(x1)(mod p), тобто f??(x2), як і f?(x1), не ділиться на р. Маємо єдиний розв’язок порівняння першого степеня f(x2)/p2+f??(x2)??t2)?0(mod p) відносно t2:
t2?t2??(mod p).
Це означає, що t2= t2??+p?t3, де t3?Z, і

і процес продовжується далі, аналогічно попереднім крокам, до досягнення степеня pa, у якому стоїть просте число р у модулі вихідного порівняння f(x)?0(mod pa).
Отже:
Всякий розв’язок x?x1(mod p) порівняння f(x)?0(mod p), за умови p/f???(x1), дає один розв’язок порівняння f(x)?0(mod pa) виду x?xa+pata, тобто x?xa(mod pa).
Приклад. Розв’язати порівняння x4+7 x+4??0(mod27).
Розв’язування. 27=33. Можна перевірити перебором повної системи лишків за mod3, що порівняння x4+7 x+4?0(mod3) має єдиний розв’язок x?1(mod3).
f??(x)=(4 x3+7)??x?1?2(mod3),
тобто не ділиться на р=3. Далі:
x1=1+3??t1
f(1)+ f??(1) 3 ??t1?0(mod32)
Шукаємо t1:
3+3 t1?2?0(mod9),
після ділення на р=3:
1+2 t1?0(mod3),
t1?1(mod3) - єдиний розв’язок. Далі:
t1=1+3 t2, x=1+3 t1=4+9 t2,
f (4)+9??t2??f??(4)??0(mod p3=27), 18+9??20??t2?0(mod27),
і, після ділення на p2=9, шукаємо t2:
2+20 t2?0(mod3),
t2?2(mod3), t2=2+3 t3,
звідки
x=4+9?(2+3 t3)=22+27 t3.
Отже, єдиним розв’язком вихідного порівняння є x?22(mod27).
Наступна теорема відноситься до специфічного виду порівнянь.
Теорема 2. Нехай A, m, n - натуральні числа; (A, m)=1, x?x0(mod m) – один з розв’язків порівняння xn?A(mod m).
Тоді всі розв’язки цього порівняння одержуються множенням x0 на лишки розв’язків порівняння yn?1(mod m).
Доказ. Перемножимо порівняння:

звідки видно, що x0y — розв’язок порівняння xn?A(mod m).
Якщо тепер y1(y2(mod m), то x0y1(x0y2(mod m). Дійсно, припустимо, що x0y1??x0y2(mod m). Очевидно, що (x0, m)=1, тому що інакше було б:
x0=d?x0?, m=d?m?,
x0=dn(x0)n?A(mod d m?),
отже d ділить А і ділить m, що суперечить взаємній простоті А і m. Отже (x0, m)=1 і порівняння x0 y1?x0 y2(mod m) можна поділити на x0: y1?y2(mod m) – а це суперечить початковому припущенню. Таким чином, для різних y1 і y2, виходять різні розв’язки.
Залишилося переконатися, що кожний розв’язок порівняння xn?A(mod m) одержується саме таким способом. Маємо:
xn?A(mod m) x0n?A(mod m),
отже, xn?x0n(mod m). Візьмемо число y таке, що x?y?x0(mod m). Тоді ynx0n??x0n(mod m), тобто yn?1(mod m).
Пункт 22. Порівняння другого степеня. Символ Лежандра.
Розглянемо найпростіші двочленні порівняння другого степеня виду
x2?a(mod p),
де а і р взаємно прості, а р - непарне просте число. Зверніть увагу, що умова взаємної простоти (а, р)=1 виключає з нашого розгляду випадок а =0.
Нас буде цікавити питання, при яких а найпростіше двочленне порівняння другого степеня має розв’язок, а при яких – не має. Зрозуміло, що порівняння x2?a(mod 2) має розв’язок при будь-яких а, тому що замість а достатньо підставити тільки 0 або 1, а числа 0 і 1 є квадратами. Саме тому випадок р=2 не представляє особливого інтересу і виводиться з подальшого розгляду.
Що стосується порівняння x2?0(mod p), то воно завжди має розв’язок х=0. Отже, інтерес представляє лише ситуація з непарним простим модулем і а?0.
Визначення. Якщо порівняння x2?a(mod p) має розв’язок, то число а називається квадратним лишком за модулем р. В іншому випадку, число а називається квадратним нелишком за модулем р.
Отже, якщо а – квадрат деякого числа за модулем р, то а -“квадратний лишок”, якщо жодне число в квадраті не порівнянльне з а за модулем р, то а - “квадратний нелишок”.
Приклад. Число 2 є квадратом за модулем 7, бо
42?16?2(mod7). Виходить, 2 - квадратний лишок. (Порівняння x2?2(mod7) має ще й інший розв’язок: 32?9?2(mod7).) Навпаки, число 3 є квадратним нелишком за модулем 7, тому що порівняння x2?3(mod7) розв’язків не має, у чому неважко переконатися послідовним перебором повної системи лишків: x = 0,1,2,3,4,5,6.
Спостереження: Якщо а - квадратний лишок за модулем р, то порівняння x2?a(mod p) має лише два розв’язки. Дійсно, якщо а - квадратний лишок за модулем р, то в порівняння x2?a(mod p) є хоча б один розв’язок x?x1(mod p). Тоді x2=-x1 – теж розв’язок, адже (-x1)2=x12. Ці два розв’язки непорівняльні за модулем р>2, бо з x1?-x1(mod p) випливає 2x1?0(mod p), тобто (оскільки р??2) x1?0(mod p), що неможливо, тому що а??0.
Оскільки порівняння x2?a(mod p) є порівнянням другого степеня за простим модулем, то більше двох розв’язків воно мати не може (див. пункт 20, лема 2).
Спостереження: Зведена (тобто без нуля) система лишків

за модулем р складається з (p-1)/2 квадратних лишків, порівняльних з числами 12,22,…,((p-1)/2)2,і (p-1)/2 квадратних нелишків, тобто лишків і нелишків порівну.
Дійсно, квадратні лишки порівняльні з квадратами чисел

тобто з числами 12,22,…,((p-1)/2)2, при цьому всі ці квадрати різні за модулем р, тому що з k2?l2(mod p), де 0<k<l??(p-1)/2, випливає, що нетривіальне порівняння x2?k2(mod p) має аж чотири розв’язки: l, –l, k, –k, що неможливо (див. пункт 20, лема 2).
Французький математик Адріен-Марі Лежандр запропонував ввести зручний символ (a/p), який читається: “символ Лежандра а по пе”.
Визначення. Нехай а не кратне р. Тоді символ Лежандра визначається як:

Теорема. (Критерій Ейлера) Нехай а не кратне р. Тоді:
a(p-1)/2?(a/p)(mod p).
Доказ. За теоремою Ферма, ap-1?1(mod p) тобто
. В лівій частині останнього порівняння один співмножник ділиться на р, адже обидва співмножники на р ділитися не можуть, інакше їхня різниця, що дорівнює двом, ділилася б на р>2. Отже, можливе одне і тільки одне з порівнянь:
a(p-1)/2?1(mod p)
a(p-1)/2?-1(mod p)
Але довільний квадратний лишок а задовольняє при деякому х порівняння a?x2(mod p) і, отже, задовольняє також одержаному з нього почленним піднесенням до степеня (p-1)/2 порівнянню
a(p-1)/2?xp-1?1(mod p) (знову теорема Ферма). При цьому, квадратні лишки є всіма розв’язками порівняння
a(p-1)/2?1(mod p), оскільки, будучи порівнянням степеня (p-1)/2, воно не може мати більше (p-1)/2 розв’язків. Це означає, що квадратні нелишки задовольняють порівнянню a(p-1)/2?-1(mod p)
(Властивість a(p-1)/2?(a/p)(mod p), що дає критерій Ейлера, можна прийняти за визначення символу Лежандра, показавши попередньо за теоремою Ферма, що a(p-1)/2??1(mod p).
Приклад. Чи буде число 5 квадратом за модулем 7?
5(7-1)/2=53=125=18??7-1?-1(mod7),
тобто порівняння x2?5(mod7) розв’язків не має і 5 - квадратний нелишок за модулем 7. Перелічимо найпростіші властивості символу Лежандра.
Властивість 1. Якщо a?b(mod p), то (a/p)=(b/p).
Ця властивість випливає з того, що числа того самого класу за модулем р будуть всі одночасно квадратними лишками або квадратними нелишками.
Властивість 2. (1/p)=1.
Доказ очевидний, адже одиниця є квадратом.
Властивість 3. .
Доказ цієї властивості випливає з критерію Ейлера при а=-1. Оскільки (p-1)/2 – парне, якщо р виду 4n+1, і непарне, якщо р виду 4n+3, то число -1 є квадратним лишком за модулем р тоді і тільки тоді, коли р виду 4n+1.
Властивість 4. .
Дійсно, лишками. Властивість 4 поширюється на будь-яке число співмножників у чисельнику символу Лежандра, взаємно простих з р. Крім того, з неї випливає
Властивість 5. , тобто в чисельнику символу Лежандра можна відкинути будь-який квадратний множник. Дійсно:
.
Пункт 23. Інші властивості символу Лежандра. Закон взаємності Гауса.
Історичний відступ про Гауса.
Карл Фрідріх Гаус (1777–1855) – народився в німецькому містечку Брауншвейгу. Дебютом Гауса був доказ можливості побудови правильного сімнадцятикутника циркулем і лінійкою. У 1795 – 1798 роках юний геній учився в Геттінгенському університеті, у 1799 році він одержав ступінь доктора, а з 1807 року до самої смерті він спокійно працював як директор астрономічної обсерваторії і професор математики Геттінгенського університету.
Володіючи феноменальними обчислювальними здібностями, Гаус склав величезні таблиці простих чисел (йому були відомі всі прості числа, менші п'яти мільйонів) і самостійно, шляхом їхнього разгляду, він відкрив квадратний закон взаємності (до Гауса цей закон вперше помітив Ейлер, але не зміг його довести): якщо р и q – два непарних простих числа, то
Сам Гаус не користувався для запису цього закону символом Лежандра, хоча знав цей формалізм, та й виразу “квадратна взаємність” у Гауса немає (його потім придумав Діріхле). У знаменитій книзі Гауса “Арифметичні дослідження”, що вважається родоначальницею сучасної теорії чисел (видана в Лейпцігу, у 1801 році), відзначається, що сам закон квадратної взаємності вперше сформулював Ейлер, докладно обговорював Лежандр, але до 1801 року не було опубліковано жодного строгого доказу цього закону. Свій перший доказ закону взаємності Гаус одержав у 1796 році, у дев'ятнадцятирічному віці. Настільки видатний результат Гауса був названий сучасниками “золотою теоремою”.
Нехай р – непарне просте число, S={1,2,…,(p-1)/2}-множина всіх додатних чисел із зведеної системи лишків за модулем р.
Розглянемо порівняння a??s???s rs(mod p), де а - чисельник досліджувального символу Лежандра, s??S, ?s rs - абсолютно найменший лишок числа as за модулем р (тобто лишок, абсолютна величина якого найменша), rs - абсолютна величина цього лишку, а ?s, - його знак. Таким чином, rs??S, а ?s=??1.
Лема 1 (Гаус). .
Доказ. Розглянемо порівняння
(*)
Множина чисел

є зведеною системою лишків за модулем р (див. пункт 17, лема 2). Їхні абсолютно найменші лишки є, відповідно,
,
додатні з них, а саме r1, r2,…,r(p-1)/2, збігаються з числами 1,2,…,(p-1)/2, тобто утворять множину S. Перемножимо тепер почленно порівняння (*) і скоротимо добуток на
. Одержимо: a(p-1)/2???1?2 … ?(p-1)/2(mod p)
За критерієм Ейлера з попереднього пункту, a(p-1)/2?(a/p)(mod p) тобто , що і було потрібно.
Лема 2. При непарному а,
, де [ as/p ] - ціла частина числа as/p.
Доказ. Маємо:
,
що буде парним чи непарним, залежно від того, чи буде найменший невід’ємний лишок числа as меншим або більшим числа p/2, тобто чи буде ?s=1 чи ?s=-1. Звідси,
, тому, за лемою Гауса, .
Перетворимо цю рівність (пам'ятаємо, що а+р – парне, а квадратний множник з чисельника символу Лежандра можна відкидати):

Оскільки (2 a/ p)=(2/ p)( a / p), а , то лема 2 доведена.
Лема 3.
Доказ. Безпосередньо випливає з леми 2 при а =1.
Число p2-1=(p-1)(p+1) на 8 ділиться без остачі, оскільки з двох послідовних парних чисел одне обов'язково ділиться на 4. Крім того, просте число р можна представити у вигляді p=8n+k, де k – одне з чисел 1, 3, 5, 7. Оскільки число

буде парним при k=1 і k=7, то 2 буде квадратним лишком за модулем р, якщо р виду 8n+1 чи 8n+7. Якщо ж р виду 8n+3 чи 8n+5, то 2 буде квадратним нелишком.
Теорема (Закон взаємності квадратних лишків). Якщо p і q - непарні прості числа, то
.
Іншими словами, якщо хоча б одне з чисел p чи q виду 4n+1, то р є квадратом за модулем q тоді і тільки тоді, коли q є квадратом за модулем р. Якщо ж обидва числа p і q виду 4n+3, то р є квадратом за модулем q тоді і тільки тоді, коли q не є квадратом за модулем р.
Доказ. Оскільки , то формула з леми 2 набуває виду: .
Розглянемо дві множини: S ={1,2,…,(p-1)/2}і K ={1,2,…,(q-1)/2}...
Утворимо (p-1)/2??(q-1)/2 штук пар чисел (qx,py), де х набуває значень з S, a y набуває значень з К. Перший і другий компонент однієї пари ніколи не збігаються, тому що з py=qx випливає, що py кратне q. Але це неможливо, бо (p,q)=1 і, оскільки 0<y<q, то (y,q)=1.
Нехай (p-1)/2?(q-1)/2=V1+V2, де V1 – число пар, у яких перший компонент менший за другий (qx<py), V2 – число пар, у яких другий компонент менший за перший (qx>py).
Очевидно, що V1 є числом пар, у яких x<(p/q)y. (Взагалі кажучи, x?(p-1)/2, але (p/q)y<p/2 бо y/q<1/2, отже [(p/q)y]?[p/2]=(p-1)/2, і нерівність x<(p/q)y не суперечить нерівності x?(p-1)/2.) Тому,
. Аналогічно, .
Тоді з рівності на початку цього доказу: , .
Це означає, що , що було потрібно.
Тригонометрична лема. Нехай m – непарне натуральне число. Тоді
.
Доказ одержується після безпосередньої перевірки. Наприклад, за формулою Муавра, переконуємося, що ліва частина є поліномом степеня (m-1)/2 від sin2 x, корені якого є sin2(2??j/m), де 1?j?(m-1)/2. Множник (-4)(m-1)/2 одержується після порівняння коефіцієнтів у лівій і правій частинах.
Доказ закону взаємності. Нехай р и q – два різних непарних простих числа. За лемою Гауса,
.
З рівності qs=?s rs (позначення леми 1 збережені), маємо: .
(Синус - функція непарна, і знак можна винести вперед.)
Перемножуючи ці рівності і враховуючи, що відображення s ??rs бієктивне, одержуємо
.
Застосуємо тепер тригонометричну лему при m=q:
.
де K={1,2,…(q-1)/2}... Замінюючи q і р, одержимо:

Множники у формулах для (q/p) і (p/q) однакові з точністю до знака. Кількість протилежних знаків дорівнює , тому .