Four points, two distance problem. How to solve this problem formally and computationally without manual plotting and and playing.

82 Views Asked by At

Looking for a way to find solutions for this problem formally and computationally (using program) without pen and paper or plotting.

Find all the ways to arrange four points so that only two distances occur between any two points

In other words, how many ways are there to draw four dots on a piece of paper such that whichever two dots you choose, the distance between these two points is one of two values?

Source : https://www.theguardian.com/science/series/alex-bellos-monday-puzzle

Edit 1: Not looking for the solutions themselves. Looking for the formal and computational approaches to arrive at the solution.

1

There are 1 best solutions below

0
On

By scaling or permutations of letters (and rotation, translation, etc.), we may require that $A=(0,0)$, and $B=(1,0)$, and another distance $d>1$. Then the following SAGE program lists all such solutions. I will leave the counting problem to you once you get the configurations. (Beware of indentations when you run the program in SAGE.)

def dis((x1,y1),(x2,y2)):

return (x1-x2)^2+(y1-y2)^2

var('x1,y1,x2,y2,d')

S={1,d^2}

for i in S:

for j in S:
    for k in S:
        for l in S:
            for m in S:
                eq1=dis(A,C)-i 
                eq2=dis(A,D)-j
                eq3=dis(B,C)-k
                eq4=dis(B,D)-l
                eq5=dis(C,D)-m
                sol=solve([eq1,eq2,eq3,eq3,eq4,eq5],x1,y1,x2,y2,d)
                for p in sol:
                          if p[4].rhs()>1:
                              p