Решение линейных диофантовых уравнений от двух переменных
Работа призёра открытой городской научно-практической конференции «Курчатовский проект – от знаний к практике, от практики к результату» в секции «Метод» |
Направление работы: Программирование
Авторы работы: ГБОУ Школа № 627
Email: Написать
Предметы: Математика, Информатика
Классы: 11 класс
Мероприятия: Открытая городская научно-практическая конференция «Курчатовский проект – от знаний к практике, от практики к результату» 2021 года
|
Актуальность
На современном этапе в эпоху тотальной цифровизации всех областей жизнедеятельности более важной проблемой становится защита информации, а значит, криптография и ее математические основы требуют к себе особого внимания и дальнейшего развития. Задача о решении линейных диофантовых уравнений от двух переменных является, с одной стороны, объектом математического изучения, а с другой – тесно связана с криптографической защитой информации, а именно с функцией шифрования системы RSA.
Цель
Программно реализовать поиск решения любого линейного диофантового уравнения от двух переменных.
Задачи
- Выделить существующие теоретические основы в математике, с помощью которых решаются линейные диофантовые уравнения от двух переменных.
- Выбрать наиболее универсальный метод решения линейный диофантовых алгоритмов от двух переменных.
- Построить математическую модель выбранного метода.
- Разбить выбранный математический метод на части, которые необходимо запрограммировать как отдельные задачи.
- Для каждой выделенной задачи подобрать или разработать эффективный алгоритм на языке программирования.
- Для выбранного метода осуществить общую сборку алгоритмов для реализации решения линейного диофантового уравнения с двумя неизвестными.
Оснащение и оборудование, использованное при создании работы
- Компьютер
- Язык программирования Python
Описание
В данной работе рассматривались линейные диофантовые уравнения вида
ax + by = c, где a, b, c — целые числа.
В математике выделены следующие методы решения диофантовых линейных уравнений от двух переменных:
- метод полного перебора всех возможных значений переменных, входящих в уравнение;
- метод, основанный на выражении одной переменной через другую и выделении целой части дроби;
- метод, основанный на алгоритме Евклида;
- метод, основанный на теории цепных дробей;
- метод, основанный на теории сравнений;
- метод бесконечного спуска;
- с помощью функции Эйлера.
Авторы работы осуществили программную реализацию методов, исходя из следующих критериев:
- по легкости написания программы (без универсальных методов): Математический метод №1 – метод полного перебора всех возможных значений переменных, входящих в уравнение;
- по составлению универсальных алгоритмов: Математический метод № 3 – метод, основанный на алгоритме Евклида.
Результаты работы/выводы
В результате проделанной работы получился скрипт, который проверяет разрешимость любого линейного диофантового уравнения и при положительном ответе дает параметрическое решение.
Перспективы использования результатов работы
В перспективах модернизировать решения при помощи применения других методов поиска НОД, например: Бинарный алгоритм вычисления НОД, -арный алгоритм Евклида, Аппроксимирующий -арный алгоритм поиска НОД и другие.
Также в планах осуществить программную реализацию с помощью других методов решения: метод, основанный на выражении одной переменной через другую и выделении целой части дроби; метод, основанный на теории цепных дробей; метод, основанный на теории сравнений; метод бесконечного спуска; с помощью функции Эйлера. Продолжить работать дальше над диафантовыми уравнениями второй степени для решения проблемы квадратичного вычета, которая лежит в основе системы шифрования Гольдвассер—Микали, на ней базируется семантическая секретность систем Накаша—Штерна и Бекалоха.