Bojan Basic of Novi Sad (Serbia), Philippe Fondanaiche of Paris (France), and Christian Bau made contributions to this problem. Here is Christian Bau's approach followed by Bojan Basic's remarks.
Solution: n = 3 is trivial (equilateral triangle); assume n >= 4. For d = 1, 2, 3 etc.
we try to find n points at integer distances with no distance greater than d. Assume
that point 1 is at (0, 0) and point 2 is at (0, d). All the other points must be at an
integer distance from these two points. So for all integers a, b such that a + b > d
and a <= d, b <= d, find the two points that are at a distance a from (0, 0) and at
a distance b from (0, d). These points meet the two equations:
x^2 + y^2 = a^2
x^2 + (d - y)^2 = b^2
We find easily that y = (d^2 + a^2 - b^2) / 2d and x = +/- sqrt (a^2 - y^2). For
fixed d, there are roughly (d^2 / 2) combinations of distances a and b to consider
and roughly d^2 points at integer distances <= d away from the first two points.
For n <= 10, we can easily do an exhaustive search to find all pairs of these points
that are at an integer distance from each other, then all triples, sets of four
points and so on. This search finds:
d (4) = 4; p3 = (1.45237, 1.375), p4 = (-1.93649, 3.5)
d (5) = d (6) = 8; p3, p4 = (2.59808, 4 +/- 2.5), p5, p6 = (-4.33013, 4 +/- 1.5)
d (7) = 33, p3, p4 = (9.68246, 16.5 +/- 14), p5, p6 = (-13.5554, 16.5 +/- 8),
p7 = (17.4284, 16.5)
d (8) = d (9) = 56, p3, p4 = (-18.1865, 28 +/- 17.5), p5, p6 = (30.3109, 28 +/- 10.5),
p7 = (15.8359, 2.28571), p8 = (-24.125, 30.6429), p9 = (20.4135, 51.0714)
d (10) = 105, p3, p4 = (42.4352, 52.5 +/- 28), p5, p6 = (-48.4974, 52.5 +/- 24.5),
p7 = (10.8872, 1.57143), p8 = (-36.7442, 13.0714), p9 = (49.4872, 42.1429),
p10 = (-52.5801, 66.7857).
For larger n, the exhaustive search compares any of about d^2 points with any other of
those points and checks whether the distance is an integer; this takes about d^4 operations,
which is fine for n = 10, d(n) = 105, but doesn't work well for much larger values. The
search can be made significantly faster: Instead of checking whether the distance of two
points is an integer, we check for the necessary condition that the distance it is the
square root of a rational number: For any (a, b), the point at distance a from (0, 0)
and distance b from (0, d) is at (x, y), where y is a rational number and x is the square
root of a rational number. If we take two points (x1 = sqrt (s1), y1) and (x2 = sqrt (s2), y2),
then we need (x1 - x2)^2 to be rational, which is the case if 2 (x1 * x2) is rational or
s1 * s2 is the square of a rational number.
Given a, b, we find x = +/- sqrt (4a^2 d^2 - (d^2 + a^2 - b^2)^2) / 2d. The quotient 2d
is independent of a and b. Define f (a, b) = d^2 + a^2 - b^2, g (a, b) =
(2ad)^2 - f (a, b)^2. The distance between the points for two different distances (a, b)
is the square root of a rational number if and only if the product of the two values
g (a, b) is a square. Define h (a, b) = g (a, b) divided by its largest square factor.
Then the distance between two points is the square root of a rational number only if the
two values h (a, b) are the same.
So here is a faster algorithm to find d (n):
Assume n >= 4. Iterate for d = 1, 2, 3 and so on until a solution is found. For each
d: For a = 1 to d and for b = d - a + 1 to d calculate f (a, b) = d^2 + a^2 - b^2,
g (a, b) = (2ad)^2 - f (a, b)^2, then h (a, b) = g (a, b) divided by its largest square
factor. Sort by the value of h (a, b) and find all sets of pairs (a, b) where the value
of h (a, b) is the same. For each of those sets perform an exhaustive search for sets
of n-2 points at integer distances <= d. For each set found add the points (0, 0) and
(0, d) and check that no three points in a set are on the same line. In that case a
solution has been found.
Bojan Basic points out that the is a research problem that is still open. So far it is known that there exist constants c1 and c2 such that
by [1] and [2], respectively. Exact values of d(n) are known only for 1 ≤ n ≤ 9:
In an unpublished note [4] S. Kurz and A. Wassermann claim to have the exact values of d(n) determined up to n = 36:
The picture below (reproduced from [2]) shows configurations for n = 3, 4, 6, 7, and 9

References