Clear[ImplicitTaylor]
ImplicitTaylor[F_, y_[x_], y0_, n_] := 
      Module[{ystrich, 
          k}, 
ystrich = -D[F, x]/
            D[F, y]; 
ableitungen = 
          NestList[Together[D[#, x] + D[#, y]*ystrich] &, ystrich, 
            n - 1]; 
y0 + 
          Sum[Limit[Limit[ableitungen[[k]], y -> y0], 
                  x -> 0]/k!*x^k, {k, 1, 
              n}]
]

ImplicitTaylor[(x^2) + (y^2) - 1, y[x], 1, 8]

ableitungen

imp = ImplicitTaylor[y (E^y) - x, y[x], 0, 10]

Series[ProductLog[x], {x, 0, 10}]

x (E^x) /. Solve[
          D[x (E^x), x] == 0, x][[1]]

Plot[{ProductLog[x], imp}, {x, -(1/E), 
        (1/2)}]

ImplicitTaylor[(x^2) Log[y] + 1, y[x], 0, 10]

ImplicitTaylor[(x^2) + (y^2) - 1, y[x], 1, 64]; // Timing