eqns = {x^2/a^2 + y^2/b^2 == 1, x == t y + n};
polyex = Apply[Subtract, eqns, {1}]
polys = Numerator[Together[Apply[Subtract, eqns, {1}]]]
xpoly = Collect[Resultant[polys[[1]], polys[[2]], x], y]
discx = Factor[Discriminant[xpoly, y]] (*discriminant*)
(*CoefficientList[polyex[[2]],y]*)
slope = -CoefficientList[polyex[[2]], y][[2]] (*k*)
intercept = -CoefficientList[CoefficientList[polyex[[2]], x][[1]],
y][[1]] (*m*)
coeffs = CoefficientList[xpoly, y]
(*{rootproduct,rootsum}=Together[Most[coeffs]/Last[coeffs]]*)
{rootsum,
rootproduct} = {-CoefficientList[xpoly, y][[2]]/Last[coeffs],
CoefficientList[xpoly, y][[1]]/Last[coeffs]} (*x1+x2;x1x2*)
{yrootsum, yrootproduct} =
Simplify[Together[{slope*rootsum + 2 intercept,
slope^2*rootproduct + intercept*slope*rootsum +
intercept^2}]] (* y1+y2;y1y2*)
Simplify[rootproduct + yrootproduct] (*x1x2+y1y2*)
Simplify[2 slope rootproduct + intercept rootsum] (*x1y2+x2y1*)
Chordlength =
Simplify[Sqrt[1 + slope^2] Sqrt[
rootsum^2 - 4 rootproduct]] (*AbsAB*)