Для решения лабы необходимо найти такие u и v, при данных p = 26513 и q = 32321, что выполняется равенство:

p * u + q * v = gcd(p, q)

В качестве ответа используется наименьший из u и v.

Sulution

Алгоритм Евклида мы уже рассматривали. Пришло время расширенного алгоритма Евклида.

Расширенный алгоритм Евклида

Аналогично алгоритму Евклида находит НОД двух чисел p и q, но в дополнение находит коэффициенты x и y для уравнения Безу:

p * u + q * v = gcd(p, q)

Напишу его реализацию на python:

def extended_gcd(p: int, q: int):
    if q == 0:
        return p, 1, 0
    gcd, x1, y1 = extended_gcd(q, p % q)
    return gcd, y1, x1 - (p // q) * y1


p = 26513
q = 32321
g, x, y = extended_gcd(p, q)
print(f"gcd = {g}, x = {x}, y = {y}")

Запущу код:

gcd = 1, x = 10245, y = -8404

Значит ответом будет -8404.