Suppose that the second number moves along the real number line between 3 and 21. We want its speed to be higher when it is close to 3, and lower when it is close to 21, but always moving upwards. I assume you don't want it to pass 21 (or ever quite reach it for that matter).
So, let x(t) be the position of the second number at time t. Where it starts is x(0), and we will call this number K and let it lie anywhere on the half-open interval [3,21). As x(t) increases, we want the velocity of the second number to decrease. One way to model this would be:
Velocity (t) = 21 - x(t).
Notice, the point will always move upwards towards 21, and would stop if it ever reached it.
Now, the velocity of the point is the rate of change of its position with respect to time. What we have is thus a differential equation:
dx/dt = 21 - x(t)
If you have any experience with these equations, you will find that the solution to this equation is found by separating variables and is given by:
x(t) = 21 - (21-K)*e^(-t), where K is the place the second point started off.
Whether you consider time to move in discrete jumps, ie. t=0,1,2,3,4... , or you consider time to evolve continuosly as a real number, the last equation should do what you ask for.
In light of your edit and comments, notice that for y>1, and x<20, you are guaranteed that K(21-x)^y will give a greater rate of change in your radius with respect to a change in x than will K(21-x). For small x's, the rate of change will be even greater still, as you required. The mathematical reason for this is that the second derivative of K(21-x)^y wrt -x is positive. Have a think! Drawing a graph will make it much more obvious..