def special_pythagorean_triplet(range_number):
    """Программа находит Пифагорову тройку, сумма коэффициентов,
    которой равна числу, передаваемму как аргумент.
    Затем программа считает произведение коэффициентов и выводит.

    Реализация:
    1. a^2 + b^2 = c^2
    2. a^2 = (c - b) * (c + b)
    3. a / (c - b) = (c + b) / a
    4. Пусть это равняется m / n,
           где m и n — целые неотрицательные числа,
           потому что стороны треугольника не могут быть отрицательны и
           сумма и разность целых коэффициентов является целой.
    5. Введем систему уравнений:
       a / (c - b) = m / n и
       (c + b) / a = m / n
    6. (c - b) / a = n / m и
       (c + b) / a = m / n
    7. c / a - b / a = n / m и
       c / a + b / a = m / n
    8. Сложим уравнения системы,
       а потом отдельно вычтем первое из второго.
       Получим два уравнения:
       c / a = (m^2 + n^2) / 2mn и
       b / a = (m^2 - n^2) / 2mn
    9. Минимальные удовлетворяющие случаи —
       a = 2mn (что удоавлетворяет обоим уравнениям),
       b = m^2 - n^2,
       c = m^2 + n^2

    Запустим цикл для m и n,
    начав m с 2 и пока не будет достигнута требуемая сумма
    или выражение 2*m + 2*m^2 не превысит аргумент,
    потому что иначе сумма при любом n будет больше.
    """
    a = 0
    b = 0
    c = 0
    m = 2
    while (a + b + c != range_number)\
            and (2*m + 2*m**2 <= range_number):
        for n in range(1, m):
            a = 2*m*n
            b = m**2 - n**2
            c = m**2 + n**2
            if (a + b + c == range_number):
                return a*b*c
        m += 1


print(special_pythagorean_triplet(1000))
