Note, the question is edited.
I set the restrictions as suggested and received the following outcome:
syms f1 f2 M b1 b2
assume (M > 1 & b1 > 0 & b2 > 0)
S = solve ( [(f1^M)/(f2^M) - M/(b1*f1) + M + 1 == 0, ...
(f2^M)/(f1^M) - M/(b2*f2) + M + 1 == 0], [f1,f2] )
Warning: The solutions are parameterized by the symbols: z, z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option.
> In solve>warnIfParams at 511
In solve at 361
Warning: The solutions are valid under the following conditions: M + z^M/z1^M - M/(b1*z) + 1 == 0 & M + z1^M/z^M - M/(b2*z1) + 1 == 0 & z < 0 & z1 < 0. To include parameters and conditions in the solution, specify the 'ReturnConditions' option.
> In solve>warnIfParams at 518
In solve at 361
S =
f1: [1x1 sym]
f2: [1x1 sym]
Even if I restrict values of f1 and f2 to be negative, I receive the same output as above.
With the above equations, I am trying to replicate Reaction Curves which appear in Hirshleifer J. (1995), "Anarchy and Its Breakdown." J. of Political Economy (in case you need more information)