# Modulo (congruence)

Modular calculator that supports big numbers and modular exponentiation.
It calculates x such that N \equiv x \mod P

## What is "modulo" ?

The modulo is the remainder of the Euclidean division. 17 modulo 3 is equal to 2 because the remainder of the euclidean division of 17 by 3 is equal to 2. We use this notation,

17 \equiv 2 \mod 3

To generalize to two given integers N and P, N modulo P is the remainder of the Euclidean division of N by P.

Modulo is used in modular arithmetic, a branch of number theory in which we focus on the remainder of the Euclidean division of a number by other numbers.

## What is congruence ?

Two numbers are congruent "modulo n" if they have the same remainder of the Euclidean division by n.
Another way to state that is that their difference is a multiple of n.

a, b and n are three integers, a is congruent to b "modulo n" will be written,

a \equiv b \mod n

In the above example, 17 is congruent to 2 modulo 3.

## How to calculate "a modulo n"?

Using the above definition, to calculate a modulo n, we compute the remainder of the Euclidean division of a by n.

Example: how to calculate 126 modulo 7 ?

We know that 126 ÷ 7 = 18 remainder 0 therefore,

126 \equiv 0 \mod 7

## Programming

### Python

This python program calculates a modulo b, a and b are two integers.

The operator % is the remainder of the Euclidean division.


def modulo(a, b):
return a%b
`