Никак нельзя (в общем случае).
Можно только в алгоритм вбить список различных функций f(x) с некоторыми константами a,b,c,d и т.д. И далее решать систему уравнений для каждой функции, проверяя таким образом, подходит она или нет.
spoilerВ вашем примере одна из функций должна быть: f(x) = a*x + b
Соответственно, система будет из двух уравнений:
25.6 = a*1 + b
27.9 = a*2 + b
Решение, естественно, тоже забито в алгоритм заранее известной формулой. Находим a и b. Далее проверяем для x=3, а также для надежности для x=4, x=5, x=6, x=7, x=8. Если сходится, то это оно. Иначе пробуем следующую функцию из списка.
Но даже здесь может быть ошибка, если на самом деле функция такая:
f(x) => |x| * 2.3 + 23.3
Или такая:
f(x) => x * 2.3 + 23.3 + (x +10)3 - |(x+10)3|
Ведь мы проверяли только x > 0, а про отрицательные забыли. То есть мало того, что найти функцию сложно, так ещё и найденная функция может быть неправильной.