This is a construction of a digital circle. The algorithm used for the construction is based on number theory. It relates the run length to the number of square numbers in a certain interval that is calculated using a formula given in the Details section.

Let be the radius of the circle and the run number from the top (starting from 0).

The squares of the abscissas of the grid points lying on the digital circle corresponding to radius and having ordinate lie in the interval , where and are defined by:

if if

if if if .

So the algorithm goes on calculating the consecutive square numbers, adding a point to the current run for each square number. It changes the run when the square number moves to the next interval.

It may be noted that the square number can be obtained easily (without using any multiplication) from the previous square number , since , which is equivalent to adding a "gnomon".