I want to write a C/C++ program and encounter a problem.If I have three 64 bit numbers and need to manipulate(adsbygoogle = window.adsbygoogle || []).push({});

"a * b mod c"

Is there any well-known, efficient and simple algorithm to implement it?

I only know it can be calculated sth. like this..

__int64 a, b, c

a = x1 * 2^32 + x0

b = y1 * 2^32 + y0

then a * b = x1y1 * 2^64 + (x0y1 + x1y0) * 2^32 + x0y0

but I dunno what to do in the next step

Note that this cannot be calculated using some classes like BigInt, gmp

Thank you very much!!!

**Physics Forums | Science Articles, Homework Help, Discussion**

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Modular Multiplication

Can you offer guidance or do you also need help?

**Physics Forums | Science Articles, Homework Help, Discussion**