Im sorry, I dont know where you got that but, I believe its wrong.
Think about, $500 dollar computer, at 18% interest. 500*.18= 90
$500 plus interest = $590.
$590*.03 (.03= 3% of the balance) = 17.7.
Thats $17.7 a month.
$590/17.7= 33.33333 months to pay it off. Thats roughly 3 years to pay that $500 computer off.
The first thing that I can see wrong with your calculations is that you're looking at the amount you'd have to pay if you paid it off in a lump sum, rather than by instalments, as you've done that you've actually used a higher rate of APR without knowing it.
(for example if you borrow $1000 for 1 year at 20% APR, so at the end of the year you pay back a lump sum of $1200, everyone can see how that works.) however, if you;re expecting to pay by instalments you have to consider that the interest is charged at a monthly equivalent of APR and your total amount that you pay back will therefore be lower.
so you borrow $1000 in month 1 you pay back $100 so now your amount owed, and the amount that they charge interest on over a year is only $900 not $1000, and so the interest amount goes down as well. in that scenario if you borrow $1000 and pay back 12 $100 amounts in monthly instalments your total repayed amount is $1200 but your APR has worked out at around 40% rather than 20%,
as for the numbers in the example I gave...
I got that from a finance quiz on the BBC website...
I didn't bother to check the numbers, though now that you've said that it's wrong I'll have a quick check and see what I can come up with.
Firstly, I'm going to admit to cheating.
I've used a monthly rate calculator found here
http://www.stoozing.com/mon2yr.htm
frankly because the example here
http://en.wikipedia.org/wiki/Annual_percentage_rate of how APR is calculated, and the idea of transposing those sums to find the monthly rate was a rather daunting task.
the monthly rate is 1.3888
anyway, so we're left with a spreadsheet
with these columns
month (start at jan 01 and increment)
balance at month start (for the first row this is 500, after that it is the month end balance of the previous row)
interest added (=[[balance at start/100] * 1.388])
repaid amount (=balance at start *0.02)-or £5 whichever is greater
balance at month end (=balance at start + interest -repaid)
You'll have to bear with me, as this can't all be put into one post. (it has to stretch over three...)
and I can't be bothered to make all the column spacing perfect.