Let's look ate the diagonal numbers of our 5x5 grid: |n |info | |--|---------------| |25|starting number| |21| = 25 - **4** | |17| = 21 - **4** | |13| = 17 - **4** | |9 | = 13 - **4** | |7 | = 9 - **2** | |5 | = 7 - **2** | |3 | = 5 - **2** | |1 | = 3 - **2** | You can probably see the pattern here. The rest of the algorithm is simply loop from 1001^2 to 1, subtracting the right amount each round and in the end summing up all numbers. I have this little code to calculate the sum of stack values until a zero is encountered: ```befunge >\# :#+_+ ``` Perhaps it's useful for someone else.