Операции предназначены для выполнения в GF(11)
, другими словами, они предназначены для выполнения в моде 11. Квадратные корни и деление в моде 11 отличаются от действительных чисел.
Существуют усовершенствованные алгоритмы для выполнения как квадратных корней, так и модульных инверсий, но для чисел от 11 можно просто использовать грубую силу или предварительно вычислить таблицу. Пойдите с первыми принципами здесь. Для sqrt (x) попробуйте [0,1,2, ... 10] и посмотрите, какой из них в квадрате равен x. Это квадратный корень. Для деления (обратного) 1 / x попробуйте [0,1,2, ... 10] и посмотрите, какое из них при умножении на x равно 1 mod 11. Теперь мы добавим это значение, чтобы получить i = 3, j= 4.
Итак, пройдя через мод расчетов 11, имеем:
P, Q, R = (10,7,10) (Q ** 2 - 4 * P *R) = -351, -351% 11 = 1 Это удобно, поскольку квадратный корень из 1 - это всего лишь 1 mod 11. Глядя на следующие два уравнения, мы видим, что нам нужно будет вычислить 1 / (2 * P) mod 11другими словами, нам нужно найти обратное значение 2 * P mod 11, то есть (2P) -1 mod 11. 2 * P% 11 = 20% 11 = 9. Используя все возможности, мынайдите, что 9 -1 мод 11 равен 5.