Чем проще, тем лучше!
По приезду домой такой простой способ обнаружил довольно быстро. (Метод перебора значений х от единицы до победного рассматривать не стал по причине его тривиальности). Если уравнение диофантово и все члены тождества разные, то выгодно рассуждать так. Самый большой вклад в правую часть f дает, естественно пятерка в степени икс. Остальные, более мелкие слагаемые, вносят лишь обертоны, которые на порядки меньше. Поэтому достаточно из правой части f извлекать корни, на первый взгляд, из пяти, шести, семи и восьми. Что я и сделал. Приблизительные результаты смотрите ниже формулы. И только корень из семи дал результат, близкий к максимальному коэффициенту 5. Всего на 16 процентов больше. Эти 16%, естественно и дают остальные три слагаемые. Итак, предварительно получили, что у нас x=7. Далее можно либо подставить в уравнение и получить тождество, либо убедиться методом итерации Ньютона по проге:
rem a^x+b^x+c^x+d^x=f
x0=7.5
a=2:b=3:c=4:d=5
f=96824
print " x0 = ";:print x0
print "---------------------------------"
print " N x0 x "
print "---------------------------------"
for i=1 to 25
z=a^x0+b^x0+c^x0+d^x0-f
z1=a^x0*log(a)+b^x0*log(b)+c^x0*log(c)+d^x0*log(d)
x=x0-z/z1
print i using "###" ,x0 using "###.#########";
print x using "###.#########"
x0=x
next i
Нулевое значение икса примем, например, x0=7,5. В результате получим действительно с большой точностью x=7.000000000 уже на пятом цикле. Интересно, что если бы задали x0=20, то только на двадцать пятом цикле система выдала бы эту семерку.
Короче, даже столь непростая задача в целых числах решается довольно элементарно.
Кроме того, программа способна находить икс практически при любой правой части. Ответ, правда, будет уже дробным, но с большой точностью. Например, если f=80000, то уже на четвертом цикле результат будет x= 6.877501774 (это при начальном x0=7).
13 июля 2023 г.
Свидетельство о публикации №223071301235
Замечательно, когда есть что вспомнить...
С уважением, С.Т..
Тёплый Сергей 13.07.2023 21:53 Заявить о нарушении
Георгий Александров 13.07.2023 23:42 Заявить о нарушении