Parece programa de los concursos de programacion.
Necesitas Exponenciacion modular.
En lugar de elevar a cierta potencia y despues sacar el modulo, se puede ir sacando modulo de la primera potencia y posteriormente aplicar modulo sobre ese resultado es mas rapido y eficiente...
El algoritmo completo esta descrito aqui...
https://es.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/fast-modular-exponentiation
Tengo una implementacion propia en C de numeros de longitud variable y he provado el algoritmo con numeros de mas de 40 o 50 digitos y funciona miy rapido
Necesitas Exponenciacion modular.
En lugar de elevar a cierta potencia y despues sacar el modulo, se puede ir sacando modulo de la primera potencia y posteriormente aplicar modulo sobre ese resultado es mas rapido y eficiente...
El algoritmo completo esta descrito aqui...
https://es.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/fast-modular-exponentiation
Tengo una implementacion propia en C de numeros de longitud variable y he provado el algoritmo con numeros de mas de 40 o 50 digitos y funciona miy rapido