# Welcome to ChineseRemainderTheorem.com!

×

Some text in the Modal Body

Some other text...

Use the calculator below to get a step-by-step calculation of the Chinese Remainder Theory. Just enter the numbers you would like and press "Calculate" .

This removes all numbers from the textboxes, such that you can fill in your own.

This fills all textboxes with random numbers. If you fill in random numbers yourself, it is very likely that those numbers do not have a solution. To avoid disappointment, use this button instead! It only uses random numbers that do have a solution.

This button is similar to the "Clear everything" button, but only clears the left column.
This is useful if you want your equations to be of the form `x ≡ a (mod m)` rather than `bx ≡ a (mod m)`.
In that case, it can be especially useful after using the random numbers button.

Do you want to use more equations? Go ahead and use this button. It adds another row that you can fill in. Not sure what numbers to put in this newly added row? Use the random numbers button again!

Do you have too many rows? Use one of these buttons to remove a row. You can always add a row again using the yellow "Add a row" button.

Are you ready to view a full step-by-step Chinese Remainder Theorem calculation for the numbers you have entered? Then use this button!

Want to know more?

#### Transform the equations

You used one or more of the fields on the left, so your equations are of the form `bx ≡ a mod m`.
We want them to be of the form `x ≡ a mod m`, so we need to move the values on the left to the right side of the equation.
For a more detailed explanation about how this works, see this part of our page about how to execute the Chinese Remainder algorithm.

First, we calculate the inverses of the leftmost value on each row:

nbqr t1t2t3
5239560523010
9565231433101
52343319001-1
433904731-15
9073117-15-6
7317455-629
17532-629-93
522129-93215
2120-93215-523
So our multiplicative inverse is 215 mod 523 ≡ 215
Source: ExtendedEuclideanAlgorithm.com
nbqr t1t2t3
4779500477010
9504771473101
4774731401-1
473411811-1119
4140-1119-477
So our multiplicative inverse is 119 mod 477 ≡ 119
Source: ExtendedEuclideanAlgorithm.com
nbqr t1t2t3
509399111001-1
3991103691-14
11069141-14-5
69411284-59
4128113-59-14
2813229-1437
13261-1437-236
212037-236509
So our multiplicative inverse is -236 mod 509 ≡ 273
Source: ExtendedEuclideanAlgorithm.com

Click on any row to reveal a more detailed calculation of each multiplicative inverse.

Now that we now the inverses, let's move the leftmost value on each row to the right of the equation:

`x ≡ 689 × 956-1 (mod 523) ≡ 689 × 215 (mod 523) ≡ 126 (mod 523)`
`x ≡ 930 × 950-1 (mod 477) ≡ 930 × 119 (mod 477) ≡ 6 (mod 477)`
`x ≡ 138 × 399-1 (mod 509) ≡ 138 × 273 (mod 509) ≡ 8 (mod 509)`

#### Now the actual calculation

1. Find the common modulus M
```M = m1 × m2 × ... × mk = 523 × 477 × 509 = 126980739 ```
2. We calculate the numbers M1 to M3
`M1=M/m1=126980739/523=242793`,   `M2=M/m2=126980739/477=266207`,   `M3=M/m3=126980739/509=249471`
3. We now calculate the modular multiplicative inverses M1-1 to M3-1
Have a look at the page that explains how to calculate modular multiplicative inverse.
Using, for example, the Extended Euclidean Algorithm, we will find that:
nbqr t1t2t3
5232427930523010
242793523464121101
52312143901-4
12139341-413
39493-413-121
431113-121134
3130-121134-523
So our multiplicative inverse is 134 mod 523 ≡ 134
Source: ExtendedEuclideanAlgorithm.com
nbqr t1t2t3
4772662070477010
26620747755841101
47741112601-11
41261151-1112
2615111-1112-23
15111412-2335
11423-2335-93
431135-93128
3130-93128-477
So our multiplicative inverse is 128 mod 477 ≡ 128
Source: ExtendedEuclideanAlgorithm.com
nbqr t1t2t3
5092494710509010
24947150949061101
5096182101-8
61212191-817
211912-817-25
1929117-25242
2120-25242-509
So our multiplicative inverse is 242 mod 509 ≡ 242
Source: ExtendedEuclideanAlgorithm.com
4. Now we can calculate x with the equation we saw earlier
`x = (a1 × M1 × M1-1   +   a2 × M2 × M2-1   + ... +   ak × Mk × Mk-1)   mod M`
` =  (126 × 242793 × 134 +    6 × 266207 × 128 +    8 × 249471 × 242)   mod 126980739= 88452501 (mod 126980739)`

So our answer is 88452501 (mod 126980739).

#### Verification

So we found that `x ≡ 88452501`
If this is correct, then the following statements (i.e. the original equations) are true:
956x (mod 523) ≡ 689 (mod 523)
950x (mod 477) ≡ 930 (mod 477)
399x (mod 509) ≡ 138 (mod 509)

Let's see whether that's indeed the case if we use x ≡ 88452501.