The no-three-in-line problem in discrete geometry asks how many points can be placed in the  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  points can be placed, because  points in a grid would include a row of three or more points, by the pigeonhole principle. Although the problem can be solved with  points for every  up  it is conjectured that fewer than  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  points, 

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  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  and by 1998 it was known that  points could be placed on an  grid with no three in a line
for all  up  and some larger values. The numbers of solutions with  points for small values of , starting  are

The numbers of equivalence classes of solutions with  points under reflections and rotations are

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

General placement methods

A solution of Paul Erdős, published by , is based on the observation that when  is a prime number, the set of  grid points  for  contains no three collinear points. When  is not prime, one can perform this construction for a  grid contained in the  grid, where  is the largest prime that is at  Because the gap between consecutive primes is much smaller than the primes themselves,  will always be close  so this method can be used to place  points in the  grid with no three points collinear.

Erdős' bound has been improved subsequently:  show that, when  is prime, one can obtain a solution with  points, by placing points in multiple copies of the hyperbola   where  may be chosen arbitrarily as long as it is nonzero  Again, for arbitrary  one can perform this construction for a prime near  to obtain a solution with

Upper bound
At most  points may be placed in a grid of any  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 , this trivial bound is known to be tight.

Conjectured bounds
Although exactly  points can be placed on small grids,  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  with

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  with

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  vertices and a graph coloring with  colors, it can be drawn in a grid with area proportional  The no-three-in-line drawing of a complete graph is a special case of this result 

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  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  within the unit square, with no three in a line, then by Pick's theorem every triangle would have area at  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  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  a solution with the non-constant approximation ratio  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  it can be found in an amount of time that is an exponential function of  multiplied by a polynomial in the input  with the exponent of the polynomial not depending  Problems with this kind of time bound are called fixed-parameter tractable.

For point sets  having at most  points per line, with  there exist general-position subsets of size nearly proportional  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 size matching the existence bound, using an algorithmic technique known as entropy compression.

Greedy placement
Repeating a suggestion of , Martin Gardner asked for the smallest subset of an  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  points. However, less is known about the version of the problem where all lines are considered: every greedy placement includes at least  points before getting stuck, but nothing better than the trivial  upper bound is known.

Higher dimensions
Non-collinear sets of points in the three-dimensional grid were considered by . They proved that the maximum number of points in the  grid with no three points collinear  
Similarly to Erdős's 2D construction, this can be accomplished by using points  where  is a prime congruent to .
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  grid have only  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  grid such that no four of them are in the same plane. This sequence begins 5, 8, 10, 13, 16, ...  for , 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  grid, the maximum number of points that can be chosen with no three in line is at most  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.

See also
Eight queens puzzle, on placing points on a grid with no two on the same row, column, or diagonal

Notes

References

 Solution, p. 222. Originally published in the London Tribune, November 7, 1906.

External links
 
 

Combinatorics
Lattice points
Conjectures
Mathematical problems