You want a signal range from 0V to 5V. Don't we all :-)? Let's go for a different approach and see where that gets us.
Starting point: cheapest and most simple solution.
That would be a series resistor to create a voltage divider. That's the absolute minimum. I've noticed that people don't give that resistor much thought, the just pick a nice round value like 10k\$\Omega\$. But I found that there's an optimal value for this.
The curve shows the voltage difference between the minimum and maximum reading (9k\$\Omega\$ and 20k\$\Omega\$ resp.) as a function of the series resistor (in k\$\Omega\$). See, it indeed has a maximum. That's easy to find if you remember that
\$ \left(\dfrac{f(x)}{g(x)}\right)' = \dfrac{f'(x)\cdot g(x) - f(x) \cdot g'(x)}{g^2(x)} \$
The difference \$V_{MAX}\$- \$V_{MIN}\$ has an extremum for
\$ \dfrac{d}{d R_X} \left(\dfrac{R_{MAX}}{R_{MAX} + R_X} - \dfrac{R_{MIN}}{R_{MIN} + R_X}\right) = 0 \$
Solving for \$R_X\$ gives
\$ R_X = \sqrt{R_{MIN} \cdot R_{MAX}} \$
A beauty!
So in our case the series resistor will be 13.42k\$\Omega\$, you can check this on the graph. Placing the resistors between 0V and +5V this will give us an output range of [2V, 3V]. That's the maximum range you can get with 1 resistor(*).
Is it enough? The Arduino has a 10-bit ADC, so this range will give you a range of 200 discrete levels. That should give a sufficient accuracy for a DIY sensor. So no other components like opamps needed.
(*) The accepted answer gives a 1.9V range, but it has the wrong equations. It's impossible to get a higher range than 1V with 1 resistor and only a +5V supply.