Let's solve this problem algebraically, then we can substitute actual values to see if the monthly payment is correct.
Let m be the monthly payment and r% the annual percentage interest rate. We start with the principal P0 (the initial amount borrowed). The interest rate is per annum so it needs to be calculated as a monthly rate=r/1200 as a fraction.
After the first month before the monthly payment the initial amount grows to P0(1+r/1200) due to interest. Let g (growth factor)=1+r/1200. After the monthly payment this is reduced to P1=P0g-m, and this becomes the principal for the second month, P2=P1g-m=(P0g-m)g-m=P0g2-mg-m, P3=P2g-m.
So P3=(P0g2-mg-m)g-m=P0g3-mg2-mg-m=P0g3-m(1+g+g2). So there's a pattern.
In general, Pn=Pn-1(1+r/1200)-m is the recursive equation for the principal after n months.
N years=12N months. So n=12N and Pn=0 because it's an N-year mortgage so there will be nothing to pay after N years.
So P12N=P0g12N-m(1+g+g2+...+g12N-1).
1+g+g2+...+g12N-1 is a geometric sequence and it sums to (g12N-1)/(g-1).
Therefore, since P12N=0, m(g12N-1)/(g-1)=P0g12N. From this equation m can be calculated given P0, r and n. P0=800000; N=20, so n=240; r=10.5/1200, so g=1+10.5/1200=1.00875.
g240=8.09192 approx; g-1=0.00875.
Therefore m=800000×8.09192/(7.09192/0.00875)=R7987.04. Compare with R7984.00. The discrepancy is probably due to rounding errors, so the given amount is 99.96% correct.