OK, now for a small trick.
Such equations (like x
4 + sqrt(Kb)*x
3 - Ksp = 0) can be often easily solved iteratively. That is we will express it as x'=f(x), we will strat with some guessed value for x and we will check if iterations converge to some value. Let's see. Our polynomial can be expressed as
x
3(x + sqrt(Kb)) - Ksp = 0
so our x'=f(x) can take form
x' = third_degree_root(Ksp/(x+sqrt(Kb)))
This is easily implemented in spreadsheet - see attached image. A1 contains initial value (10
-13, but it works for 1 and 10
-30 as well), then each next cell in a row is a function of the value of the cell above. There is no third root function, so I used exp and ln for calculations.
As you can see convergence is almost instant - after third step following results are identical.
But, what have we calculated? Ah, yes. Our x is a square root of the [CO
32-]. That means [CO
32-] = (3.21*10
-3)
2 = 1.03*10
-5, and solubility of the barium carbonate (which equals concentration of dissolved barium) is
[Ba
2+] = Ksp/[CO
32-]
or
[Ba
2+] = 5.33*10
-5 M
Interestingly, when we compare this result with the result of full calcuation, taking into acount all equilibria - our result is perfectly accurate (see the second image).
But I guess you may not like this approach