EDIT:
With help from @cvgmt, both fixing a wrong term in the equation(!) and adding constraints for finding lines:
With[{expr =
1 + 54 x y z - 9 (x + y + z) + 126 (x y + x z + y z) -
9 (x^2 + y^2 + z^2) -
189 (x^2 y + x y^2 + x^2 z + y^2 z + x z^2 + y z^2) +
81 (x^3 + y^3 + z^3) == 0},
(* Expression over a parametric infinite line. *)
expr /. Thread[{x, y, z} -> {a, b, c} + t {u, v, w}] //
(* Find lines which lie on the surface. *)
Solve[
(* Expression must be true for all t,
that is, it must lie on the surface everywhere. *)
Resolve[ForAll[t, #]] &&
(* Constrain solutions:
line offset and line direction vectors must be at right angle,
and line direction vector must be unit length. *)
{a, b, c} . {u, v, w} == 0 && u^2 + v^2 + w^2 == 1 &&
(* Prevent finding lines with "direction" negated. *)
((w > 0) || (w == 0 && v > 0) || (w == 0 && v == 0 && u > 0)),
{a, b, c, u, v, w}, Reals] & //
(* Line segments inside the plotted area. *)
RegionIntersection[
InfiniteLine[{a, b, c}, {u, v, w}], Ball[]] /. N[#] & //
(* Create animated graphics. *)
Animate[
Show[
(* Plot the surface. *)
ContourPlot3D[expr, Element[{x, y, z}, Ball[]],
PlotPoints -> 100, ContourStyle -> Opacity[9/10], Boxed -> False,
BoxRatios -> Automatic, Axes -> None, Mesh -> None,
RegionBoundaryStyle -> None,
SphericalRegion -> True, ViewAngle -> 10 Degree,
ViewPoint -> Dynamic[{5 Sin[a], 5 Cos[a], 5/2}]],
(* Plot line segments. *)
Graphics3D[{Thick, CapForm["Butt"], #}]],
{a, 0, 2 Pi}] &]

Original answer:
This is more of an extended comment - but anyway, it would seem that Mathematica has at least some success finding those lines on the surface:
With[{eqn = -1 + 54 x y z - 9 (x + y + z) + 126 (x y + x z + y z) -
9 (x^2 + y^2 + z^2) -
189 (x^2 y + x y^2 + x^2 z + y^2 z + x z^2 + y z^2) +
81 (x^3 + y^3 + z^3)},
CoefficientList[eqn /. Thread[{x, y, z} -> {a, b, c} + t {u, v, w}],
t] & // Map[# == 0 &] //
Solve[
And @@ # && {a, b, c} . {u, v, w} == 0 &&
u^2 + v^2 + w^2 == 1, {a, b, c, u, v, w}, Reals] & // N //
RegionIntersection[InfiniteLine[{a, b, c}, {u, v, w}],
Cuboid[{-1, -1, -1}, {1, 1, 1}]] /. # & //
ListAnimate@
Table[
Show[ContourPlot3D[eqn == 0, {x, -1, 1}, {y, -1, 1}, {z, -1, 1},
PlotPoints -> 50, ContourStyle -> Opacity[9/10],
Boxed -> False, BoxRatios -> Automatic, Axes -> None,
Mesh -> None, SphericalRegion -> True,
ViewPoint -> {5 Sin[a], 5 Cos[a], 5/2}],
Graphics3D[{Thick, #}]],
{a, 0, 2 Pi - Pi/64, Pi/64}] &]

link
to the OP? I checked that the author has included all the equations for the lines and there's a mathematical explanation on how to derive said equations. I think this should make the task at hand much easier $\endgroup$