The simplest solution is probably the polynomial one. This satisfies smooth and continuous automatically. You have 4 conditions you want to satisfy, so use a cubic equation (4 parameters). f[x_] := a x^3 + b x^2 + c x + d; Solve[{f[0] == 0, f'[0] == 1/2, f[10] == 5, f'[10] == 2/5}, {a, b, c, d}] > {{a -> -(1/1000), b -> 1/100, c -> 1/2, d -> 0}} Note, however, that this a singular instance of a function meeting these parameters. The reason `Solve` fails is because there are an infinite number of such functions, many of which cannot be reasonably represented in terms of algebraic manipulations. After all, all that has been defined here is the values at two points and the slopes at two points. So long as whatever happens in-between is smooth and continuous, anything can happen. J.M. has noted that this process has been implemented in _Mathematica_ already as `InterpolatingPolynomial`: InterpolatingPolynomial[{{{0}, 0, 1/2}, {{10}, 5, 2/5}}, x]