Well, here’s a modification of CaptainBlack’s suggestion.

Join the first two points (

and

) by a straight line. This will have gradient

. Then join

to

by the function

, where

,

, and

.

Hopefully that might makes things a bit simpler.

By the way, CaptainBlack, the condition

will make

convex, and this will only work if

lies below the straight line joining

and

. If

lies above that line, then we need a concave function, which means we need both

and

to be negative (

to make the function concave and

to make it increasing).