In[]:=
eqns={x^2/a^2+y^2/b^21,ykx+m};​​polyex=Apply[Subtract,eqns,{1}]​​polys=Numerator[Together[Apply[Subtract,eqns,{1}]]]​​xpoly=Resultant[polys[[1]],polys[[2]],y]​​discx=Discriminant[xpoly,x]​​slope=-CoefficientList[polyex[[2]],x][[2]]​​coeffs=CoefficientList[xpoly,x]​​{rootproduct,rootsum}=Together[Most[coeffs]/Last[coeffs]]​​Chordlength=Simplify[Sqrt[1+slope^2]Sqrt[rootsum^2-4rootproduct]]
Out[]=
-1+
2
x
2
a
+
2
y
2
b
,-m-kx+y
Out[]=
{-
2
a
2
b
+
2
b
2
x
+
2
a
2
y
,-m-kx+y}
Out[]=
-
2
a
2
b
+
2
a
2
m
+2
2
a
kmx+
2
b
2
x
+
2
a
2
k
2
x
Out[]=
4(
2
a
4
b
+
4
a
2
b
2
k
-
2
a
2
b
2
m
)
Out[]=
k
Out[]=
{-
2
a
2
b
+
2
a
2
m
,2
2
a
km,
2
b
+
2
a
2
k
}
Out[]=

-
2
a
2
b
+
2
a
2
m
2
b
+
2
a
2
k
,
2
2
a
km
2
b
+
2
a
2
k

Out[]=
2
1+
2
k
2
a
2
b
(
2
b
+
2
a
2
k
-
2
m
)
2
(
2
b
+
2
a
2
k
)