Может быть, кому-то будет интереснее, если будет известно, зачем мне нужно решение этой задачи. А может быть, кто-то укажет иной подход к ее решению.
Имеет место следующий факт.
Количество пифагоровых троек
с периметром
равно указанному в пункте 2) количеству делителей числа
на промежутке
.
Это предлагает более быстрый алгоритм для решения этой задачи:
http://projecteuler.net/problem=75. Пользуясь этим фактом, не требуется построение пифагоровых троек, множество которых задается двумя параметрами, что, несомненно, затратно по времени. Если найти решение предложенной в пункте 2) задачи, то, вероятно, не потребуется даже перебирать по L.
Идея доказательства:
Решая систему уравнений
, выражаем и подставляем
. Получаем квадратное уравнение. Его дискриминант
равен
, что должно быть полным квадратом, который мы обозначим за
. Также для того, чтобы решения уравнения были положительными, требуется
, откуда получаем
и
. Итак,
. Перепишем как
. Будем рассматривать это уравнение как диофантовое относительно переменных
и
(
нам известно по условию). Известно, что все рациональные решения уравнения
представляются в виде
. Нас интересуют целые положительные решения, поэтому, применительно к нашей задаче,
и
- четно. Переходим к условиям на
и получаем утверждение задачи. Каждое такое
доставляет целочисленное решение уравнения относительно
и
, а те, в свою очередь - относительно
и
.