# No-three-in-line problem

The no-three-in-line problem in discrete geometry asks how many points can be placed in the $n\times n$ grid so that no three points lie on the same line. The problem concerns lines of all slopes, not only those aligned with the grid. It was introduced by Henry Dudeney in 1900. Brass, Moser, and Pach call it "one of the oldest and most extensively studied geometric questions concerning lattice points".
At most $2n$ points can be placed, because $2n+1$ points in a grid would include a row of three or more points, by the pigeonhole principle. Although the problem can be solved with $2n$ points for every $n$ up to $46$, it is conjectured that fewer than $2n$ points can be placed in grids of large size. Known methods can place linearly many points in grids of arbitrary size, but the best of these methods place slightly fewer than $1.5n$ points, not $2n$.
Several related problems of finding points with no three in line, among other sets of points than grids, have also been studied. Although originating in recreational mathematics, the no-three-in-line problem has applications in graph drawing and to the Heilbronn triangle problem.

## Small instances

The problem was first posed by Henry Dudeney in 1900, as a puzzle in recreational mathematics, phrased in terms of placing the 16 pawns of a chessboard onto the board so that no three are in a line. This is exactly the no-three-in-line problem, for the case $n=8$. In a later version of the puzzle, Dudeney modified the problem, making its solution unique, by asking for a solution in which two of the pawns are on squares d4 and e5, attacking each other in the center of the board.
Many authors have published solutions to this problem for small values of $n$, and by 1998 it was known that $2n$ points could be placed on an $n\times n$ grid with no three in a line for all $n$ up to 46, and some larger values. The numbers of solutions with $2n$ points for small values of $n$, starting from $n=2$, are
The numbers of equivalence classes of solutions with $2n$ points under reflections and rotations are

## Upper and lower bounds

The exact number of points that can be placed, as a function of $n$, is not known. However, both proven and conjectured bounds limit this number to within a range proportional to $n$.

### General placement methods

A solution of Paul Erdős, published by Roth (1951), is based on the observation that when $n$ is a prime number, the set of $n$ grid points $(i,i^{2}$ mod $n)$, for $0\leq i<n$, contains no three collinear points. When $n$ is not prime, one can perform this construction for a $p\times p$ grid contained in the $n\times n$ grid, where $p$ is the largest prime that is at most $n$. Because the gap between consecutive primes is much smaller than the primes themselves, $p$ will always be close to $n$, so this method can be used to place $n-o(n)$ points in the $n\times n$ grid with no three points collinear.
Erdős' bound has been improved subsequently: Hall et al. (1975) show that, when $n/2$ is prime, one can obtain a solution with $3(n-2)/2$ points, by placing points in multiple copies of the hyperbola $xy=k$ (mod $n/2$), where $k$ may be chosen arbitrarily as long as it is nonzero mod $n/2$. Again, for arbitrary $n$ one can perform this construction for a prime near $n/2$ to obtain a solution with ${\tfrac {3}{2}}n-o(n)$ points.

### Upper bound

At most $2n$ points may be placed in a grid of any size $n$. For, if more points are placed, then by the pigeonhole principle some three of them would all lie on the same horizontal line of the grid. For $n\leq 46$, this trivial bound is known to be tight.

### Conjectured bounds

Although exactly $2n$ points can be placed on small grids, Guy & Kelly (1968) conjectured that for large grids, there is a significantly smaller upper bound on the number of points that can be placed. More precisely, they conjectured that the number of points that can be placed is at most a sublinear amount larger than $cn$, with $c={\sqrt[{3}]{\frac {2\pi ^{2}}{3}}}\approx 1.874.$ After an error in the heuristic reasoning leading to this conjecture was uncovered, Guy corrected the error and made the stronger conjecture that one cannot do more than sublinearly better than $cn$ with $c={\frac {\pi }{\sqrt {3}}}\approx 1.814.$

## Applications

Solutions to the no-three-in-line problem can be used to avoid certain kinds of degeneracies in graph drawing. The problem they apply to involves placing the vertices of a given graph at integer coordinates in the plane, and drawing the edges of the graph as straight line segments. For certain graphs, such as the utility graph, crossings between pairs of edges are unavoidable, but one should still avoid placements that cause a vertex to lie on an edge through two other vertices. When the vertices are placed with no three in line, this kind of problematic placement cannot occur, because the entire line through any two vertices, and not just the line segment, is free of other vertices. The fact that the no-three-in-line problem has a solution with linearly many points can be translated into graph drawing terms as meaning that every graph, even a complete graph, can be drawn without unwanted vertex-edge incidences using a grid whose area is quadratic in the number of vertices, and that for complete graphs no such drawing with less than quadratic area is possible. The complete graphs also require a linear number of colors in any graph coloring, but other graphs that can be colored with fewer colors can also be drawn on smaller grids: if a graph has $n$ vertices and a graph coloring with $k$ colors, it can be drawn in a grid with area proportional to $nk$. The no-three-in-line drawing of a complete graph is a special case of this result with $k=n$.
The no-three-in-line problem also has applications to another problem in discrete geometry, the Heilbronn triangle problem. In this problem, one must place $n$ points, anywhere in a unit square, not restricted to a grid. The goal of the placement is to avoid small-area triangles, and more specifically to maximize the area of the smallest triangle formed by three of the points. For instance, a placement with three points in line would be very bad by this criterion, because these three points would form a degenerate triangle with area zero. On the other hand, if the points can be placed on a grid of side length $\varepsilon$ within the unit square, with no three in a line, then by Pick's theorem every triangle would have area at least $\varepsilon ^{2}/2$, half of a grid square. Therefore, solving an instance of the no-three-in-line problem and then scaling down the integer grid to fit within a unit square produces solutions to the Heilbronn triangle problem where the smallest triangle has area $\Omega (1/n^{2})$. This application was the motivation for Paul Erdős to find his solution for the no-three-in-line problem. It remained the best area lower bound known for the Heilbronn triangle problem from 1951 until 1982, when it was improved by a logarithmic factor using a construction that was not based on the no-three-in-line problem.

## Generalizations and variations
### General-position subsets

In computational geometry, finite sets of points with no three in line are said to be in general position. In this terminology, the no-three-in-line problem seeks the largest subset of a grid that is in general position, but researchers have also considered the problem of finding the largest general position subset of other non-grid sets of points. It is NP-hard to find this subset, for certain input sets, and hard to approximate its size to within a constant factor; this hardness of approximation result is summarized by saying that the problem is APX-hard. If the largest subset has size $k$, a solution with the non-constant approximation ratio $O({\sqrt {k}})$ can be obtained by a greedy algorithm that simply chooses points one at a time until all remaining points lie on lines through pairs of chosen points.
One can get a finer-grained understanding of the running time of algorithms for finding the exact optimal solution by using parameterized complexity, in which algorithms are analyzed not only in terms of the input size, but in terms of other parameters of the input. In this case, for inputs whose largest general position subset has size $k$, it can be found in an amount of time that is an exponential function of $k$ multiplied by a polynomial in the input size $n$, with the exponent of the polynomial not depending on $k$. Problems with this kind of time bound are called fixed-parameter tractable.
For point sets $S$ having at most ℓ{\textstyle \ell } points per line, with ℓ=O(√|S|){\textstyle \ell =O({\sqrt {|S|}})}, there exist general-position subsets of size nearly proportional to ℓ=O(√|S|){\textstyle \ell =O({\sqrt {|S|}})}. The example of the grid shows that this bound cannot be significantly improved. The proof of existence of these large general-position subsets can be converted into a polynomial-time algorithm for finding a general-position subset of $S$, of size matching the existence bound, using an algorithmic technique known as entropy compression.

### Greedy placement

Repeating a suggestion of Adena, Holton & Kelly (1974), Martin Gardner asked for the smallest subset of an $n\times n$ grid that cannot be extended: it has no three points in a line, but every proper superset has three in a line. Equivalently, this is the smallest set that could be produced by a greedy algorithm that tries to solve the no-three-in-line problem by placing points one at a time until it gets stuck. If only axis-parallel and diagonal lines are considered, then every such set has at least $n-1$ points. However, less is known about the version of the problem where all lines are considered: every greedy placement includes at least $\Omega (n^{2/3})$ points before getting stuck, but nothing better than the trivial $2n$ upper bound is known.

### Higher dimensions

Non-collinear sets of points in the three-dimensional grid were considered by Pór & Wood (2007). They proved that the maximum number of points in the $n\times n\times n$ grid with no three points collinear is $\Theta (n^{2})$. Similarly to Erdős's 2D construction, this can be accomplished by using points $(x,y,x^{2}+y^{2}$ mod $p)$, where $p$ is a prime congruent to 3 mod 4. Just as the original no-three-in-line problem can be used for two-dimensional graph drawing, one can use this three-dimensional solution to draw graphs in the three-dimensional grid. Here the non-collinearity condition means that a vertex should not lie on a non-adjacent edge, but it is normal to work with the stronger requirement that no two edges cross.
In much higher dimensions, sets of grid points with no three in line, obtained by choosing points near a hypersphere, have been used for finding large Salem–Spencer sets, sets of integers with no three forming an arithmetic progression. However, it does not work well to use this same idea of choosing points near a circle in two dimensions: this method finds points forming convex polygons, which satisfy the requirement of having no three in line, but are too small. The largest convex polygons with vertices in an $n\times n$ grid have only $O(n^{2/3})$ vertices. The cap set problem concerns a similar problem to the no-three-in-line problem in spaces that are both high-dimensional, and based as vector spaces over finite fields rather than over the integers.
Another generalization to higher dimensions is to find as many points as possible in a three dimensional $N\times N\times N$ grid such that no four of them are in the same plane. This sequence begins 5, 8, 10, 13, 16, ... OEIS: A280537 for N = 2, 3, 4, etc.

### Torus

Another variation on the problem involves converting the grid into a discrete torus by using periodic boundary conditions in which the left side of the torus is connected to the right side, and the top side is connected to the bottom side. This has the effect, on slanted lines through the grid, of connecting them up into longer lines through more points, and therefore making it more difficult to select points with at most two from each line. These extended lines can also be interpreted as normal lines through an infinite grid in the Euclidean plane, taken modulo the dimensions of the torus. For a torus based on an $m\times n$ grid, the maximum number of points that can be chosen with no three in line is at most $2\gcd(m,n)$. When both dimensions are equal, and prime, it is not possible to place exactly one point in each row and column without forming a linear number of collinear triples. Higher-dimensional torus versions of the problem have also been studied.