дифференциального уравнения методом Рунге-Кутта.
Величины, вводимые в программу: - это начало, конец интервала,
условие Коши и ε-точность.

from math import*
fun, a, b, ya, ε = input('f(x,y) a b y(a) ε: ').split()
f, a, b = lambda x, y: eval(fun), float(a), float(b)
n, Y = int((b - a) / float(sqrt(float(ε)))), [float(ya)]
h = (b - a) / n; hp = h * 0.5
for i in range(n):
y = Y[i]; x = a + i * h
Y.append(y+h*f(x+hp, y+hp*f(x,y)))
for i in range(n + 1):
x = a + i * h
print('%7.4f%22.15f' % (x, Y[i]))
Это с методом Рунге-Кутты второго порядка. Для больших интервалов надо, естественно, что-нибудь поточнее. Вышеприведённый код легко модифицировать, доведя метод РК до хотя бы четвёртого порядка, но я думаю, что это уже излишество! Тут решение получается просто в виде таблицы узловых значений функции. Все необходимые исходные данные вводятся с экрана через пробел (а сама функция f(x,y) должна быть без пробелов !), поэтому можно проверить точность, например, для экспоненты на интервале [0;1], введя:
на интервале (0,1) c точностью ?=0.0001" . После этого я введу данные которые получил через программу ипострою график через графический калькулятор. Вам огромное спасибо что помогли.