SetDirectory["~/KappaLib/"];
<<kappaLib-1.1.m
<<helper.m

Metaclass II:

vars={x0,x1,x2,x3};
kappa=emMatrixToKappa[(({{a1, -b1, 0, 0, 0, 0}, {b1, a1, 0, 0, 0, 0}, {0, 0, a2, 0, 0, -b2}, {0, 1, 0, a1, b1, 0}, {1, 0, 0, -b1, a1, 0}, {0, 0, b2, 0, 0, a2}}))];

fr=emKappaToFresnel[kappa,vars];

FullSimplify[emDet[kappa]]

We assume that Fresnel polynomial factorises:

A=Table[ToExpression["A"<>ToString[Min[{i,j}]]<>ToString[Max[{i,j}]]],{i,0,3},{j,0,3}];
B=Table[ToExpression["B"<>ToString[Min[{i,j}]]<>ToString[Max[{i,j}]]],{i,0,3},{j,0,3}];
A//MatrixForm
B//MatrixForm
factorised=(vars.A.vars) (vars.B.vars);

cons=Union[Flatten[CoefficientList[ fr-factorised,vars]]];

cons=simp[cons];
show[cons]//MatrixForm

Equation (3): By rescaling, we may assume that A00 = 1.

sub={A00->1,B00->-b2};
cons=simp[cons//.sub];
show[cons]

tmp=Join[Take[cons,{3,5}],Take[cons,{19,21}],Take[cons,{23,24}], {cons[[33]]}]

Solve[toEqs[tmp],{B01,B02,B03,B33,B13,B23,B11,B22,B12}]

sub=Join[sub,%[[1]]]

cons=simp[cons//.sub];
show[cons]

Variables[cons]
elimVars=Variables[A]
condVars=Variables[kappa]

gb=GroebnerBasis[cons,condVars,elimVars];//Timing

show[simp[gb]]

Since b1, b2 have the same signs, equation (1) implies that b1=b2

show[simp[gb/.b1->b2]]

show[simp[gb/.{b1->b2,a1->a2}]]

Verify

AA=(({{1, 0, 0, b1}, {0, -b1, 0, 0}, {0, 0, -b1, 0}, {b1, 0, 0, 0}}));
BB=(({{-1, 0, 0, b1}, {0, -b1, 0, 0}, {0, 0, -b1, 0}, {b1, 0, 0, 0}}));
verify=(vars.AA.vars) (vars.(b1 BB).vars);
Simplify[fr-verify/.{a1->a2,b1->b2}]

Check that both metrics have Lorentz signature

Det[AA]
Det[BB]

Extra: Check expressions for inverse matrices

Inverse[AA]//MatrixForm
Inverse[BB]//MatrixForm