EnableExplicit Procedure.i SumProperDivisors(Number) If Number < 2 : ProcedureReturn 0 : EndIf Protected i, sum = 0 For i = 1 To Number / 2 If Number % i = 0 sum + i EndIf Next ProcedureReturn sum EndProcedure Define n, f Define Dim sum(19999) If OpenConsole() For n = 1 To 19999 sum(n) = SumProperDivisors(n) Next PrintN("The pairs of amicable numbers below 20,000 are : ") PrintN("") For n = 1 To 19998 f = sum(n) If f <= n Or f < 1 Or f > 19999 : Continue : EndIf If f = sum(n) And n = sum(f) PrintN(RSet(Str(n),5) + " and " + RSet(Str(sum(n)), 5)) EndIf Next PrintN("") PrintN("Press any key to close the console") Repeat: Delay(10) : Until Inkey() <> "" CloseConsole() EndIf