Берем два целых числа m и k, таких что mk > p (как правило, m=k=|sqrt(p)|). sqrt(p) = 10,344... Поэтому m=k=10. Затем вычисляются два ряда чисел: y, y*a, y*a^2, … , y*a^(m-1) (mod p) a^m, a^(2*m), a^(3*m), … , a^(k*m) (mod p) 47 mod 107 = 47 47*88 mod 107 = 70 47*88^2 mod 107 = 18 47*88^3 mod 107 = 18 47*88^4 mod 107 = 86 47*88^5 mod 107 = 78 47*88^6 mod 107 = 16 47*88^7 mod 107 = 17 47*88^8 mod 107 = 105 47*88^9 mod 107 = 38 88^10 mod 107 = 37 88^20 mod 107 = 85 88^30 mod 107 = 42 88^40 mod 107 = 56 88^50 mod 107 = 39 88^60 mod 107 = 52 88^70 mod 107 = 105 88^80 mod 107 = 33 88^90 mod 107 = 44 88^100 mod 107 = 23 Найдем такие i и j, для которых y*a^i=a^(j*m) . Тогда x=j*m-i. 47*88^8 mod 107 = 88^70 mod 107 = 105 i = 8, j = 7 x = 62