Let's call the vertices of the quadrilateral $A,B,C,D$ in counter clockwise direction. Let $a = AB , b = BC, c = CD , d = DA $. We can can let $A = (0,0)$ on the cartesian plane, and $B = (a, 0) $. Further, let $C = (x_1, y_1) $ and $D = (x_2, y_2)$. Now we have
$ b^2 = (x_1 - a)^2 + y_1^2 $
$ c^2 = (x_1 - x_2)^2 + (y_1 - y_2)^2$
$ d^2 = x_2^2 + y_2^2$
And if $e = AC - BD$ , then
$ e = \sqrt{ x_1^2 + y_1^2 } - \sqrt{ (x_2 - a)^2 + y_2^2 } $
we now have
$ x_1^2 + y_1^2 = b^2 - a^2 + 2 a x_1$
$ (x_2 - a)^2 + y_2^2 = d^2 + a^2 - 2 a x_2 $
Hence,
$ e = \sqrt{ b^2 - a^2 + 2 a x_1 } - \sqrt{ d^2 + a^2 - 2 a x_2 } $
Squaring,
$ e^2 = b^2 + d^2 + 2 a (x_1 - x_2) - 2 \sqrt{ (b^2 - a^2 + 2 a x_1)(d^2 + a^2 - 2 a x_2 ) } $
So that
$ \bigg( e^2 - b^2 - d^2 - 2 a (x_1 - x_2) \bigg)^2 = 4 \bigg(b^2 - a^2 + 2 a x_1\bigg) \bigg(d^2 + a^2 - 2 a x_2 \bigg)$
So now we have four quadratic equations in $4$ unknowns $x_1,y_1, x_2, y_2$.
The actual dimension of the problem can be reduced to $2$ utilizing equations (1) and (3), which are equations of circles centered at $(a, 0)$ and $(0,0)$ respectively.
Specifically, we have two parameters, $\theta$ and $\phi$, and we have $ x_1, y_1, x_2, y_2$ defined in terms of them as follows:
$ x_1 = a + b \cos \theta $
$ y_1 = b \sin \theta $
$ x_2 = d \cos \phi $
$ y_2 = d \sin \phi $
With this we have eliminated equations (1) and (3). Now the second equation becomes
$ c^2 = ( a + b \cos \theta - d \cos \phi)^2 + ( b \sin \theta - d \sin \phi)^2 $
And the last equation becomes
$ \bigg( e^2 - b^2 - d^2 - 2 a (a+b \cos\theta - d \cos \phi) \bigg)^2 \\= 4 \bigg(b^2 - a^2 + 2 a (a + b \cos \theta)\bigg) \bigg(d^2 + a^2 - 2 a d \cos \phi \bigg)$
These two equations in $\theta$ and $\phi$ can be solved numerically via the Newton-Raphson (multivariate) method.
And that's what I have done. I implemented the Newton-Raphson method for the specific two equations above. With $a= 7, b = 4, c = 3, d = 5, e = 1 $, I got the following two solutions. Note that in the second solution, the order of subtraction of the diagonals is reversed, in other words, the program finds solutions such that the difference of the diagonals in absolute value is $e$.


The program listing follows. It is written in Microsoft Excel VBA (Visual Basic for Applications).
Public Sub quadrilateral_()
Dim x(2), y(2), jac(2, 3) As Double
Dim a, b, c, d, e As Double
Dim sol_mat(160, 2) As Double
Dim vers(5, 2) As Double
a = 7
b = 4
c = 3
d = 5
e = 1
For it1 = 0 To 59
t1 = it1 / 60 * (2 * p)
x(1) = t1
For it2 = 0 To 59
t2 = it2 / 60 * (2 * p)
x(2) = t2
success = 0
For ic = 1 To 30
Call find_y_quad(a, b, c, d, e, x, y)
If norm(y, 2) < 0.000001 Then
success = 1
For i = 1 To 2
x(i) = x(i) - 2 * p * Int(x(i) / (2 * p))
Next i
t = x(1)
s = x(2)
vers(1, 1) = 0
vers(1, 2) = 0
vers(2, 1) = a
vers(2, 2) = 0
vers(3, 1) = a + b * Cos(t)
vers(3, 2) = b * Sin(t)
vers(4, 1) = d * Cos(s)
vers(4, 2) = d * Sin(s)
vers(5, 1) = vers(1, 1)
vers(5, 2) = vers(1, 2)
' make sure that quadrilateral is convex
For i = 2 To 4
j = i + 1
For k = 1 To 2
u1(k) = vers(i, k) - vers(i - 1, k)
u2(k) = vers(i + 1, k) - vers(i, k)
Next k
Call cross(u1, u2, u3)
If u3(3) < 0 Then GoTo lnext_it2
Next i
Call append_cmat(sol_mat, x)
Exit For
End If
Call find_jac_quad(a, b, c, d, e, x, jac)
For i = 1 To 2
jac(i, 3) = -y(i)
Next i
Call reduce_matrix(jac, 2, 3, 0.00000001, det)
If Abs(det) < 0.000001 Then
MsgBox ("jac not invertible")
Exit Sub
End If
For i = 1 To 2
x(i) = x(i) + jac(i, 3)
Next i
Next ic
If success = 0 Then
'MsgBox ("did not converge")
Exit Sub
End If
' MsgBox ("converged in " + Str(ic - 1) + " iterations")
lnext_it2:
Next it2
Next it1
MsgBox ("total no. of solutions found = " + Str(sol_mat(0, 0)))
k1 = 10
For i = 1 To sol_mat(0, 0)
For j = 1 To 2
ActiveSheet.Cells(i, j) = sol_mat(i, j)
Next j
t = sol_mat(i, 1)
s = sol_mat(i, 2)
vers(1, 1) = 0
vers(1, 2) = 0
vers(2, 1) = a
vers(2, 2) = 0
vers(3, 1) = a + b * Cos(t)
vers(3, 2) = b * Sin(t)
vers(4, 1) = d * Cos(s)
vers(4, 2) = d * Sin(s)
vers(5, 1) = vers(1, 1)
vers(5, 2) = vers(1, 2)
k = k1
narcs = 0
ipass = 2
Call draw_points(2, 1, 5, vers, 1)
Call draw_points(0, 1, 4, vers, 3)
k2 = k
If i = 1 Then
Call plot_curve(0, k1, 0, 0, 0, "", "")
Else
Call plot_curve(1, k1, 0, 0, 0, "", "")
End If
k1 = k2
Next i
End Sub
Public Sub find_y_quad(a, b, c, d, e, x, y)
Dim lhs, rhs As Double
t = x(1)
s = x(2)
y(1) = (a + b * Cos(t) - d * Cos(s)) ^ 2 + (b * Sin(t) - d * Sin(s)) ^ 2 - c ^ 2
lhs = (e ^ 2 - b ^ 2 - d ^ 2 - 2 * a * (a + b * Cos(t) - d * Cos(s))) ^ 2
rhs = 4 * (b ^ 2 - a ^ 2 + 2 * a * (a + b * Cos(t))) * (d ^ 2 + a ^ 2 - 2 * a * d * Cos(s))
y(2) = lhs - rhs
End Sub
Public Sub find_jac_quad(a, b, c, d, e, x, jac)
Dim y(2), y1(2), u(2) As Double
Call find_y_quad(a, b, c, d, e, x, y)
For j = 1 To 2
For i = 1 To 2
u(i) = x(i)
Next i
u(j) = u(j) + 0.01
Call find_y_quad(a, b, c, d, e, u, y1)
For i = 1 To 2
jac(i, j) = 100 * (y1(i) - y(i))
Next i
Next j
End Sub
Public Sub append_cmat(cmat, c)
Dim i, j, n As Integer, ns As Integer
n = cmat(0, 0)
n = n + 1
For i = 1 To 2
cmat(n, i) = c(i)
Next i
Call eliminate_duplicates_2d(n, 2, cmat, 0.000001, ns, cmat)
cmat(0, 0) = ns
End Sub