Problem 27

Number spiral diagonals

Problem 29

Number spiral diagonals

Problem 28

Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:
21 22 23 24 25
20  7  8  9 10
19  6  1  2 11
18  5  4  3 12
17 16 15 14 13
It can be verified that the sum of the numbers on the diagonals is 101.
What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?
from math import ceil


def run():
    result = 0
    num = 1
    for i in range(1000):
        num = num + (2 * (i + 1))
        result += num
    num = 1
    for i in range(1001):
        num = num + (4 * ceil(((i + 1) / 2)))
        result += num
    return int(result)