2 Added code for simplifying the result
source | link

You could try Eliminate to eliminate either g22 or g12:

Eliminate[{
    eq1 == 2 a g12 (b (-1 + b c) g12^2 + b (1 - b c) g11 g22 + 
      c g22^2) + g22 ((-1 + b^2 c^2) g12^2 + c^2 g22 (-b^2 g11 + g22)) + 
      a^2 (g12^2 g22 + b^2 g11 (g12^2 - g11 g22)),
    g11 a^2 + 2 g12 a c + g22 c^2 == g11
  },
  g22
]

If necessary you can then use Solve and Simplify to solve for the temporary variable eq1. :

Simplify[eq1 /. First @ Solve[%, eq1]]

You could try Eliminate to eliminate either g22 or g12:

Eliminate[{
    eq1 == 2 a g12 (b (-1 + b c) g12^2 + b (1 - b c) g11 g22 + 
      c g22^2) + g22 ((-1 + b^2 c^2) g12^2 + c^2 g22 (-b^2 g11 + g22)) + 
      a^2 (g12^2 g22 + b^2 g11 (g12^2 - g11 g22)),
    g11 a^2 + 2 g12 a c + g22 c^2 == g11
  },
  g22
]

If necessary you can then use Solve to solve for the temporary variable eq1.

You could try Eliminate to eliminate either g22 or g12:

Eliminate[{
    eq1 == 2 a g12 (b (-1 + b c) g12^2 + b (1 - b c) g11 g22 + 
      c g22^2) + g22 ((-1 + b^2 c^2) g12^2 + c^2 g22 (-b^2 g11 + g22)) + 
      a^2 (g12^2 g22 + b^2 g11 (g12^2 - g11 g22)),
    g11 a^2 + 2 g12 a c + g22 c^2 == g11
  },
  g22
]

If necessary you can then use Solve and Simplify to solve for the temporary variable eq1:

Simplify[eq1 /. First @ Solve[%, eq1]]
1
source | link

You could try Eliminate to eliminate either g22 or g12:

Eliminate[{
    eq1 == 2 a g12 (b (-1 + b c) g12^2 + b (1 - b c) g11 g22 + 
      c g22^2) + g22 ((-1 + b^2 c^2) g12^2 + c^2 g22 (-b^2 g11 + g22)) + 
      a^2 (g12^2 g22 + b^2 g11 (g12^2 - g11 g22)),
    g11 a^2 + 2 g12 a c + g22 c^2 == g11
  },
  g22
]

If necessary you can then use Solve to solve for the temporary variable eq1.