I have a hidden linear function: $f(x)=a*x+b$. For example $f(x)=2*x+3$
A hidden function $f$ was executed on some hidden input $x$=(0,1,3,4) and we have access only to output $y=(f(0)=3, f(1)=5, ...)=(3,5,9,13)$
How to find: $(a, b, \vec{x})$? In this case the correct answer is $(a=2, b=3, x=(0,1,3,4))$
There is possibility to construct the system of equations but I do not know how to solve them. $$\begin{cases} a*x_1+b=3,\\ a*x_2+b=5,\\ a*x_3+b=9,\\ a*x_4+b=13.\\ \end{cases}$$ The number of unknowns is greater than knowns, but we are limited to linear hidden functions only. Should I rewrite as matrix multiplication and use some sort of decomposition? Should I use Linear programming?
Note: there exists trivial solution $(a=1, b=0, x=y)$ I am interested in non trivial solutions and general approach for any $(a,b,x)$
Edit1: what are the possible restrictions to get unique solution? For example: $(a,b,x)$ natural numbers, maximize $(a, b)$ and minimise $(x)$,...