This is an attempt giving some partial results.
Set $s=\sin(2\pi/5)$ and $c=2s^2 - 3/2=\cos(2\pi/5)$. We show that if there is a positive answer, then the slopes of the edges are contained in the field $\mathbb Q(s)$, but none of the slopes is rational.
Let $u_0,\ldots,u_4$ be five putative rational points on the five sides of the regular pentagon. We allow that some points coincide. Note however that $u_i=u_j$ can only happen if $i-j\in\{-1,0,1\}$ (indices taken modulo $5$).
The rational group $\text{SO}(2,\mathbb Q)$ of rotations is dense in $\text{SO}(2,\mathbb R)$ (in view of the rational parametrization $x=2t/(1+t^2), y=(1-t^2)/(1+t^2)$ of the unit circle).
In particular, we may and do assume the following:
- None of the slopes is vertical.
- If $(x_i,y_i)=u_i\ne u_j=(x_j,y_j)$, then $x_i\ne x_j$ and $y_i\ne y_j$.
- $x_0=y_0=0$, $x_1=1$.
Let $m$ be the slope of the edge through $u_0$. By repeated rotation of the vector $(1,m)$ by $2\pi/5$, we get the slopes through the $u_i$'s. By intersecting the lines through these points, we get the vertices of the pentagon. Let $p_i$ be the intersection of the lines through $u_i$ and $u_{i+1}$. The condition which has to hold is that the vector $p_{i+2}-p_{i+1}$ is $p_{i+1}-p_i$ rotated by $2\pi/5$.
For $i=3$ this yields the condition \begin{align} q_0+q_1m &= 0\text{ where}\\ q_0 &= (-4x_3 + 4x_4)s^3 + (2y_1 + 2y_3)s^2 + (3x_3 - 2x_4 - 1)s - 3/2y_1 - y_3 + 1/2y_4\\ q_1 &= (-4y_3 + 4y_4)s^3 + (-2x_3 - 2)s^2 + (-y_1 + 3y_3 - 2y_4)s + x_3 - 1/2x_4 + 3/2 \end{align} We use that $s$ has degree $4$ over $\mathbb Q$, and $s^4 - 5/4s^2 + 5/16=0$.
Suppose that $m$ is not in the field generated by $s$. Then $q_1=q_0=0$. The linear independence of $1,s,s^2,s^3$ yields $8$ equations in the $x_i$'s and $y_i$'s. Let $q_i[j]$ be the coefficient in $q_i$ of $s^j$. We get the contradiction \begin{equation} 0 = q_0[3] + 8q_1[0] + 2q_1[2] = (-4x_3 + 4x_4)+8(x_3 - 1/2x_4 + 3/2)+2(-2x_3 - 2)=8. \end{equation} Similarly, we show that $m$ is not rational. Suppose that $m$ is rational. Then $q[j]:=q_0[j]+mq_1[j]$ vanishes for $j=0,1,2,3$. One computes that \begin{equation} 8mq[0]-4q[1]+4mq[2]-3q[3]=4(1-x_4)(1+m^2), \end{equation} so $4(1-x_4)(1+m^2)=0$. Of course $1+m^2\ne0$, hence $x_4=1=x_1$, which contradicts our assumption $u_4\ne u_1$ (and different $x$-coordinates for different $u_i$'s).
The SageMath code below does the actual computation. In order to continue, one can use $q$ to eliminate $m$ in the other equations (collected in the list L
in the program). Using Groebner bases one gets certain conditions on the $x_i$'s and $y_i$'s, but I wasn't able to get a contradiction, nor a positive example. The computations just became too heavy, so a better idea is needed.
vars = [f'x_{i}' for i in range(2, 5)]
vars += [f'y_{i}' for i in range(1, 5)]
vars += ['m', 's']
R = PolynomialRing(QQ, vars)
R.inject_variables()
f = s^4 - 5/4*s^2 + 5/16
c = 2*s^2 - 3/2
def u(i):
i = i%5
if i == 0:
return 0, 0
if i == 1:
return 1, y_1
return R.gen(i-2), R.gen(i+2)
def rot(u):
"""Rotate vector u by 2*pi/5"""
x, y = u
return (x*c - y*s)%f, (x*s + y*c)%f
def diff(u, v):
return u[0]-v[0], u[1]-v[1]
slope = (1, m)
p = []
for k in range(7):
ux, uy = u(k)
sux, suy = slope
slope = rot(slope)
vx, vy = u(k+1)
svx, svy = slope
x = suy*svx*ux - sux*svx*uy - sux*svy*vx + sux*svx*vy
y = suy*svy*ux - sux*svy*uy - suy*svy*vx + suy*svx*vy
p.append((x%f, y%f))
deltas = [diff(p[k+1], p[k]) for k in range(6)]
L = [diff(deltas[k+1], rot(deltas[k]))[0] for k in range(4)]
q = [z for z in L if z.degree(m) == 1][0]
lq = [R(z) for z in q.polynomial(m)]
def L2N(L): #Get the coefficients of the polynomial in s
N = []
for z in L:
N += [R(_) for _ in z.polynomial(s).coefficients()]
return N
print('Checking that m in Q(s):')
N = L2N(lq)
print(1 in ideal(N), R(1).lift(N))
print('Checking that m is not rational:')
N = L2N([q])
w = (1-x_4)*(m^2+1)
print(w in ideal(N), w.lift(N))