daniel starodubtsev: Если под "быстрый" понимается "субэкспоненциальный", то вроде пока ещё даже со случаем известного разложения

не разобрались. При простом

такой алгоритм действительно есть, но вопрос, можно ли вычислить хотя бы

за полиномиальное (от

) время, насколько я знаю, до сих пор открыт.
В вашей же общей ситуации... навскидку легко получить алгоритм сложности

(сведением к задаче вычисления значений полинома степени

в таком же количестве точек), но устроит ли это вас - не знаю. (Кстати, это ключевая идея алгоритма Полларда-Штрассена разложения

на множители, имеющего сложность

, который, правда, сегодня нет никакого смысла использовать. И - на всякий случай - если вы пытаетесь через теорему Вильсона изобрести новый алгоритм теста простоты числа (

), рекомендую сразу бросить эту затею.)
Dmitriy40: Этот путь в общем случае ведёт к таблице размера

. Тогда проще уж сразу таблицу ответов составить ;)
g______d: Эта статья касается точного вычисления

(не по модулю

). Вряд ли автор темы что-то оттуда извлечёт.