# Kongruenz (Zahlentheorie)

Die Kongruenz ist in der Zahlentheorie eine Beziehung zwischen ganzen Zahlen. Man nennt zwei ganze Zahlen $a$ und $b$ kongruent modulo $m$ (= eine weitere ganze Zahl), wenn sie sich um ein ganzzahliges Vielfaches von $m$ unterscheiden; andernfalls inkongruent modulo $m$. Ist $m\neq 0,$ dann sind zwei ganze Zahlen genau dann kongruent, wenn sie bei der Division durch $m$ denselben Rest haben.
Jede Kongruenz modulo einer ganzen Zahl ist eine Kongruenzrelation auf dem Ring der ganzen Zahlen, wobei der Modul $m=0$ sogar Gleichheit erzwingt.

## Beispiele

11 ist kongruent 5 modulo 3, da $11:3=3{\text{ Rest }}2$ und $5:3=1{\text{ Rest }}2$ ist und somit die beiden Reste gleich sind. Alternativ erkennt man es daran, dass die Differenz $11-5=6$ ein ganzzahliges Vielfaches des Moduls 3 ist ($6=2\cdot 3$).
Hingegen ist 11 inkongruent 5 modulo 4, da $11:4=2{\text{ Rest }}3$ und $5:4=1{\text{ Rest }}1$; die beiden Reste sind nicht gleich, und die Differenz 11 - 5 = 6 ist auch nicht durch 4 teilbar (genauso wenig wie die Differenz der errechneten Reste 3 - 1 = 2).
−8 und 10 sind kongruent modulo 6, denn $-8:6=-2{\text{ Rest }}4$ und $10:6=1{\text{ Rest }}4$. Auch ist die Differenz von -8 und 10, nämlich -18, durch 6 teilbar.
Bei der Prüfung, ob die Reste gleich sind, muss man die in der Mathematik übliche Konvention anwenden, nach der das Vorzeichen des Rests (wenn er nicht 0 ist) das Vorzeichen des Divisors ist. Man darf also nicht $-8:6=-1{\text{ Rest }}-2$ rechnen, wie es bei Ganzzahlberechnungen im Computer in der Regel geschieht.

## Schreibweise

Für die Aussage „$a$ und $b$ sind kongruent modulo $m$“ verwendet man folgende Schreibweisen:
* $a\equiv b\mod m$
* $a\equiv b\mod m\mathbb {Z}$
* $a\equiv b{\pmod {m}}$
* $a\equiv b\quad (m)$
* $a\equiv _{m}b$
Diese Schreibweisen können dabei als Kurzform der (zu obiger Aussage gleichwertigen) Aussage „Divisionsrest von $a$ durch $m$ ist gleich Divisionsrest von $b$ durch $m$“, also von
    $(a{\bmod {m}})=(b{\bmod {m}})$,
gesehen werden (wobei in letztgenannter Gleichung $\operatorname {mod}$ die mathematische Modulo-Funktion ist, die den Rest einer ganzzahligen Division ermittelt, hier also den Rest von ${\tfrac {a}{m}}$ bzw. ${\tfrac {b}{m}}$; bei der mathematischen Modulo-Funktion hat das Ergebnis, also der Rest, immer dasselbe Vorzeichen wie $m$).

## Geschichte

Die Theorie der Kongruenzen wurde von Carl Friedrich Gauß in seinem im Jahr 1801 veröffentlichten Werk „Disquisitiones Arithmeticae“ entwickelt. Der Begriff Kongruenz wurde von Christian Goldbach schon ab 1730 in Briefen an Leonhard Euler verwendet, jedoch ohne die theoretische Tiefe von Gauß. Im Gegensatz zu Gauß verwendete Goldbach das Symbol $\mp$ und nicht $\equiv$. Auch der chinesische Mathematiker Qin Jiushao (秦九韶) kannte schon Kongruenzen und die damit einhergehende Theorie, wie aus seinem 1247 veröffentlichten Buch „Shushu Jiuzhang“ (chinesisch 數書九章 / 数书九章, Pinyin Shùshū Jiǔzhāng – „Mathematische Abhandlung in neun Kapiteln“) hervorgeht.

## Formale Definition

In der Zahlentheorie wird die Kongruenz auf eine Teilbarkeitsaussage zurückgeführt. Seien dazu $a$, $b$ und $m\neq 0$ ganze Zahlen, d. h. Elemente aus $\mathbb {Z}$.
* Zwei Zahlen $a$ und $b$ heißen kongruent modulo $m$, wenn $m$ die Differenz $a-b$ teilt.
* Zwei Zahlen $a$ und $b$ heißen inkongruent modulo $m$, wenn $m$ die Differenz $a-b$ nicht teilt.
Unter Verwendung der mathematischen Notation lassen sich diese beiden Aussagen wie folgt schreiben:
* $a\equiv b{\pmod {m}}$
       $\Leftrightarrow m\mid (a-b)$
       $\Leftrightarrow \exists k\in \mathbb {Z} :a=km+b$
* $a\not \equiv b{\pmod {m}}$
       $\Leftrightarrow m\nmid (a-b)$
       $\Leftrightarrow \forall k\in \mathbb {Z} :a\neq km+b$

## Restklassen

Eine Kongruenzrelation ist eine spezielle Äquivalenzrelation. Sie hat also die folgenden Eigenschaften:

### Reflexivität

    $a\equiv a{\pmod {m}}$ für alle $a\in \mathbb {Z}$

### Symmetrie

    $a\equiv b{\pmod {m}}\Rightarrow b\equiv a{\pmod {m}}$ für alle $a,b\in \mathbb {Z}$

### Transitivität

    $a\equiv b{\pmod {m}}$ und $b\equiv c{\pmod {m}}\Rightarrow a\equiv c{\pmod {m}}$ für alle $a,b,c\in \mathbb {Z}$
Die Äquivalenzklassen der Kongruenzrelation heißen Restklassen. Will man auch $m$ angeben, so spricht man von Restklassen $({\text{mod }}m)$. Eine Restklasse, die das Element $a$ enthält, wird oft mit $[a]$ bezeichnet.
Wie jede Äquivalenzrelation definiert eine Kongruenzrelation eine Partition ihrer Trägermenge: Die Restklassen zu zwei Elementen sind entweder gleich oder disjunkt, ersteres genau dann, wenn die Elemente kongruent sind:
    $[a]=[b]\quad \iff \quad a\equiv b{\pmod {m}}\quad \iff \quad a\in [b]\quad \iff \quad b\in [a]$.
Ausgestattet mit den von $\mathbb {Z} (+,\cdot )$ induzierten Verknüpfungen bilden die Restklassen einen Ring, den sogenannten Restklassenring. Er wird für $m$ mit $\mathbb {Z} /m\mathbb {Z}$ bezeichnet.

### Bemerkung

* Da eine Division durch $m$ bisher nicht vorkommt, kann man für die formale Definition (im vorigen Abschnitt) wie auch für die Äquivalenzrelation (in diesem Abschnitt) $m=0$ zulassen.
* Da es im Ring $\mathbb {Z}$ keine echten Nullteiler gibt, degeneriert die Relation $\equiv ({\text{mod }}0)$ zum trivialen Fall, zur Gleichheit:
       $a\equiv b{\pmod {0}}\quad \Rightarrow \quad a=b$   für alle $a,b\in \mathbb {Z}$.
* Der unitäre Ring der Charakteristik $m$ ist isomorph zu $\mathbb {Z} /m\mathbb {Z}$. Diese Eigenschaft wird auch für den Fall $m=0$ gebraucht. Dann ist $\mathbb {Z} /m\mathbb {Z} =\mathbb {Z} /0\mathbb {Z} =\mathbb {Z}$. Dieser Ring wird nicht als Restklassenring im engeren Sinn angesehen.
* Die interessanten Fälle sind die Fälle $m\neq 0$, was man als Standard annehmen kann.
* Der Restklassenring $\mathbb {Z} /1\mathbb {Z}$ ist der Nullring, der nur aus einem Element besteht.
Ist $m$ nicht trivial, also $m\neq 0$, dann befinden sich in einer Restklasse alle Zahlen, die den gleichen Rest bei der Division durch $m$ aufweisen. Dann entspricht auch der Absolutwert von $m$, also $|m|$, der Anzahl der Restklassen. Beispielsweise existieren für 2 die beiden Restklassen der geraden und der ungeraden Zahlen.

## Rechenregeln

Im Folgenden seien $a$, $a'$, $b$, $b'$, $c$ und $m$ ganze Zahlen. Dabei sei $m\neq 0$, $a\equiv a'{\pmod {m}}$ und $b\equiv b'{\pmod {m}}$. Dann gelten folgende Rechenregeln:
    $ca\equiv ca'{\pmod {m}}$
    $a+b\equiv a'+b'{\pmod {m}}$
    $a-b\equiv a'-b'{\pmod {m}}$
    $ab\equiv a'b'{\pmod {m}}$
Ist $f\in \mathbb {Z} [X]$ ein Polynom über den ganzen Zahlen, dann gilt:
    $f(a)\equiv f(a'){\pmod {m}}$
Auch bei Kongruenzen ist ein Kürzen möglich. Es gelten jedoch andere Kürzungsregeln als von rationalen oder reellen Zahlen gewohnt ($\operatorname {ggT}$ … größter gemeinsamer Teiler):
    $ca\equiv cb{\pmod {m}}\Leftrightarrow a\equiv b{\pmod {\frac {m}{\operatorname {ggT} (c,m)}}}$
Daraus folgt unmittelbar, dass – wenn $m$ eine Primzahl $p$ und diese kein Teiler von $c$ ist – gilt:
    $ca\equiv cb{\pmod {p}}\Leftrightarrow a\equiv b{\pmod {p}}$
Falls $m$ eine zusammengesetzte Zahl oder ein Teiler von $c$ ist, gilt nur:
    $ca\equiv cb{\pmod {m}}\Leftarrow a\equiv b{\pmod {m}}$
Für jeden Teiler $d$ von $m$ folgt aus $a\equiv b{\pmod {m}}$, dass $a\equiv b{\pmod {d}}$.
Sind $m_{1},m_{2},\dotsc ,m_{k}$ ganze Zahlen ungleich null und ist $m$ ihr kleinstes gemeinsames Vielfaches, dann gilt:
    $a\equiv a'{\pmod {m_{\kappa }}}$ für alle $\kappa =1,2,\dotsc ,k\quad \Leftrightarrow \quad a\equiv a'{\pmod {m}}$

### Potenzen

Ist $n\in \mathbb {N} _{0}$ eine natürliche Zahl, dann gilt:
    $a^{n}\equiv (a')^{n}{\pmod {m}}$
Sind $a$ und $m$ teilerfremd, dann gilt nach dem Satz von Euler
    $a^{\varphi (m)}\equiv 1{\pmod {m}}$,
wobei $\varphi (m)$ die Eulersche φ-Funktion bezeichnet. Daraus folgt außerdem
    $a^{n}\equiv a^{n'}{\pmod {m}}$, falls $n\equiv n'{\pmod {\varphi (m)}}$.
Ein Spezialfall davon ist der kleine fermatsche Satz, demzufolge für alle Primzahlen $p$ die Kongruenz
    $a^{p}\equiv a{\pmod {p}}$
erfüllt ist.

## Abgeleitete Rechenregeln

* Für $t\neq 0$ gilt: $t\cdot a\equiv t\cdot b{\pmod {|t|\cdot m}}$
* Ist $k$ ein Teiler von $m$, dann gilt: $a\equiv b{\pmod {k}}$, falls $a\equiv b{\pmod {m}}$.
* Für jede ungerade Zahl $a$ gilt: $a^{2}\equiv 1{\pmod {8}}$
* Für jede ganze Zahl gilt entweder $a^{3}\equiv 0{\pmod {9}}$ oder $a^{3}\equiv 1{\pmod {9}}$ oder $a^{3}\equiv 8{\pmod {9}}$.
* Für jede ganze Zahl $a$ gilt: $a^{3}\equiv a{\pmod {6}}$
* Für jede ganze Zahl gilt entweder $a^{3}\equiv 0{\pmod {7}}$ oder $a^{3}\equiv 1{\pmod {7}}$ oder $a^{3}\equiv 6{\pmod {7}}$.
* Für jede ganze Zahl gilt entweder $a^{4}\equiv 0{\pmod {5}}$ oder $a^{4}\equiv 1{\pmod {5}}$.
* Ist $a$ sowohl eine Quadratzahl als auch eine Kubikzahl (z. B. $a=64$), dann gilt entweder $a\equiv 0{\pmod {36}}$ oder $a\equiv 1{\pmod {36}}$ oder $a\equiv 9{\pmod {36}}$ oder $a\equiv 28{\pmod {36}}$.
* Sei $p$ eine Primzahl mit $n<p<2n$. Dann gilt: ${2n \choose n}\equiv 0{\pmod {p}}$
* Sei $a$ eine ungerade ganze Zahl. Ferner sei $n>0$. Dann gilt: $a^{2^{n}}\equiv 1{\pmod {2^{n+2}}}$
* Sei $p>3$. Ferner seien $p$ und $q=p+2$ Primzahlzwillinge. Dann gilt: $p\cdot q\equiv -1{\pmod {9}}$

## Lösbarkeit von linearen Kongruenzen
### Lineare Kongruenz

Eine lineare Kongruenz der Form
    $ax\equiv c{\pmod {m}}$
ist genau dann in $x$ lösbar, wenn $g=\operatorname {ggT} (a,m)$ die Zahl $c$ teilt. In diesem Fall besitzt die Kongruenz genau $g$ Lösungen in $\{0,1,\dotsc ,m-1\}$, und die Lösungen sind zueinander kongruent modulo ${\tfrac {m}{g}}$.
Auch für große $m$ kann man die Lösungen effizient ermitteln, indem man den erweiterten euklidischen Algorithmus auf $a$ und $m$ anwendet, der neben $g$ auch zwei Zahlen $s$ und $t$ berechnet, die $g$ als Linearkombination von $a$ und $m$ ausdrücken:
    $g=\operatorname {ggT} (a,m)=s\cdot a+t\cdot m$
Eine Lösung erhält man dann mit $\textstyle x_{1}={\frac {s\cdot c}{g}}$, und die übrigen Lösungen unterscheiden sich von $x_{1}$ um ein Vielfaches von ${\tfrac {m}{g}}$.
Beispiel: $4x\equiv 10{\pmod {18}}$ ist lösbar, denn $\operatorname {ggT} (4,18)=2$ teilt die Zahl $10$, und es gibt $2$ Lösungen im Bereich $0\leq x<18$. Der erweiterte euklidische Algorithmus liefert $2=-4\cdot 4+1\cdot 18$, was die Lösung $\textstyle x_{1}={\frac {-4\cdot 10}{2}}=-20$ ergibt. Die Lösungen sind kongruent modulo $\textstyle {\frac {18}{2}}=9$. Für $x$ lautet die Lösungsmenge somit $\{\cdots ,-20,-11,-2,7,16,25,\cdots \}$.

### Simultane Kongruenz

Eine simultane Kongruenz wie
    $\qquad a_{1}x\equiv c_{1}{\pmod {m_{1}}}$
    $\qquad a_{2}x\equiv c_{2}{\pmod {m_{2}}}$
    $\qquad a_{3}x\equiv c_{3}{\pmod {m_{3}}}$
ist sicher dann lösbar, wenn gilt:
* für alle $i$ ist $c_{i}$ durch $g_{i}=\operatorname {ggT} (a_{i},m_{i})$ teilbar, d. h. jede Kongruenz ist für sich lösbar, und
* die ${\tfrac {m_{i}}{g_{i}}}$ sind paarweise zueinander teilerfremd.
Der Beweis des Chinesischen Restsatzes liefert den Lösungsweg für solche simultanen Kongruenzen.

## Beziehung zur Modulo-Funktion
### Allgemein

Mit $a,b,m\in \mathbb {Z}$, $m\neq 0$, gilt allgemein:
    $a\equiv b{\pmod {m}}\quad \Leftrightarrow \quad (a{\bmod {m}})=(b{\bmod {m}})\quad \Leftrightarrow \quad (a-b){\bmod {m}}=0$

### Programmierung

Sind zwei Zahlen $a$ und $b$ kongruent modulo einer Zahl $m$, ergibt sich bei der Division durch $m$ derselbe Rest.
Mithilfe der vor allem in der Informatik verbreiteten „symmetrischen Variante“ der Modulo-Funktion, die in Programmiersprachen oft mit den Modulo-Operatoren mod oder % bezeichnet wird, kann man dies so schreiben:
    (a mod m) = (b mod m) bzw. (a % m) = (b % m)
Man beachte, dass dies mit der in der Informatik üblichen symmetrischen Modulo-Funktion nur für positive $a$ und $b$ richtig ist. Damit die Gleichung tatsächlich für alle $a$ und $b$ äquivalent zur Kongruenz wird, muss man die durch
    $(a{\bmod {m}}):=a-\left\lfloor {\frac {a}{m}}\right\rfloor \cdot m$
definierte mathematische Modulo-Funktion $\operatorname {mod}$ verwenden, deren Ergebnis immer dasselbe Vorzeichen wie $m$ hat ($\lfloor \cdot \rfloor$ ist die Gaußklammer). Mit dieser Definition gilt beispielsweise $(-1){\bmod {7}}=6$.

## Anwendungen

Kongruenzen bzw. Restklassen sind oft hilfreich, wenn man Berechnungen mit sehr großen Zahlen durchführen muss.
Eine wichtige Aussage über Kongruenzen von Primzahlen ist der kleine Satz von Fermat bzw. der fermatsche Primzahltest.