Proving I can solve an equation without disclosing the solution (zero-knowledge proof) Given a (potentially multivariable) equation $f(x)=0$, Peggy wants to prove to Victor that she knows a solution $x^\star$ to it without actually disclosing anything information about the value of $x^\star$.
Is there a slick way to pull off this zero-knowledge proof?
If possible, I want a solution

in the continuous context where $x\in\mathbb{R}^n$ (and, if necessary, $f$ is well-behaved and infinitely differentiable.)
in the discrete context, where $x\in GF(p)$ (i.e. modulo a large prime $p$).

For a continuous example: $f(x) = [ x_1 \cdot x_2 - 2 , x_1^3 - x_2 + 1] = [0, 0]$. A solution is $x^\star = (1, 2)$.
For a discrete example: $f(x) \equiv 2^{x_1} + 3^{x_2} - x_1 \equiv 0 \pmod{5}$. A solution is $x^\star=(1,2)$.
In both cases, we want to show we have that solution without disclosing the value.
Edit: You can absolutely assume that $f$ can be efficiently evaluated, making the problem in NP.
Edit 2: I in particular want a slick solution that doesn't involve just considering the boolean computation circuit. Something more akin to the zero-knowledge proof that one knows of a Hamiltonian path by considering providing it on an isomorphic graph.
For the discrete case, you can just use any zk-SNARK that generalizes over arithmetic circuits.
There is no direct way to do a zero-knowledge proof over the reals. However, you can map linear operations over real numbers to operations in the field you are working in by first proving an upper bound on your inputs. Since the circuit is public the verifier can independently check if the upper bound leads to overflow.