' version 28-10-2016 ' compile with: fbc -s console ' to do A(4, 2) the stack size needs to be increased ' compile with: fbc -s console -t 2000 Function ackerman (m As Long, n As Long) As Long If m = 0 Then ackerman = n +1 If m > 0 Then If n = 0 Then ackerman = ackerman(m -1, 1) Else If n > 0 Then ackerman = ackerman(m -1, ackerman(m, n -1)) End If End If End If End Function ' ------=< MAIN >=------ Dim As Long m, n Print For m = 0 To 4 Print Using "###"; m; For n = 0 To 10 ' A(4, 1) or higher will run out of stack memory (default 1M) ' change n = 1 to n = 2 to calculate A(4, 2), increase stack! If m = 4 And n = 1 Then Exit For Print Using "######"; ackerman(m, n); Next Print Next ' empty keyboard buffer While InKey <> "" : Wend Print : Print "hit any key to end program" Sleep End