$Version
(* "14.0.0 for Mac OS X ARM (64-bit) (December 13, 2023)" *)
Clear["Global`*"]
eqns = {
eq1 = a^3*c + c^3*a == (a + (1 - f)*d)^3*b + b^3*(a + (1 - f)*d),
eq2 = g == c - b,
eq3 = (e - d)/(a + d) == g/b};
vars = Variables[Level[eqns, {-1}]]
(* {a, b, c, d, e, f, g} *)
Option 1: Solve
for three variables (including d) and disregard unwanted solutions. For example,
sol1a = d -> # & /@ (d /. Solve[eqns, {d, a, b}]);
There are multiple lengthy solutions.
#[sol1a] & /@ {Length, LeafCount}
(* {3, 17664} *)
or,
sol1b = d -> # & /@ (d /. Solve[eqns, {d, b, c}]);
#[sol1b] & /@ {Length, LeafCount}
{6, 2215}
Option 2: Solve for d and eliminate two other variables. For example,
sol2a = Solve[eqns, d, {a, b}];
#[sol2a] & /@ {Length, LeafCount}
(* {3, 17667} *)
or,
sol2b = Solve[eqns, d, {b, c}];
#[sol2b] & /@ {Length, LeafCount}
(* {6, 2221} *)
Option 3: Solve for d and use the option MaxExtraConditions
(sol3 = SolveValues[eqns, d, MaxExtraConditions -> All])
Solve
should not yield the empty set of solutions. For more detailed discussion see e.g. What is the difference between Reduce and Solve?. We can get rid of trivial equationeq2
and seth
in place ofa + (1 - f)*d
. Then useReduce[{a^3 c + a c^3 == b^3 h + b h^3, (-d + e)/(a + d) == (c - b)/ b}, h]
$\endgroup$Solve
not giving reasonable answers. This post goes in-depth into why this happens. Thanks! $\endgroup$h
to to Reduce ord
though? $\endgroup$