' FreeBASIC v1.05.0 win64 Function SumProperDivisors(number As Integer) As Integer If number < 2 Then Return 0 Dim sum As Integer = 0 For i As Integer = 1 To number \ 2 If number Mod i = 0 Then sum += i Next Return sum End Function Dim As Integer n, f Dim As Integer sum(19999) For n = 1 To 19999 sum(n) = SumProperDivisors(n) Next Print "The pairs of amicable numbers below 20,000 are :" Print For n = 1 To 19998 ' f = SumProperDivisors(n) f = sum(n) If f <= n OrElse f < 1 OrElse f > 19999 Then Continue For If f = sum(n) AndAlso n = sum(f) Then Print Using "#####"; n; Print " and "; Using "#####"; sum(n) End If Next Print Print "Press any key to exit the program" Sleep End