Is there an implemented algorithm that will take a polynomial $f(x,y)\in\mathbb Z[x,y]$ and a prime $p$, and determine whether the equation $f(x,y)=0$ has a solution over $\mathbb Q_p$?

My recollection is that Nils Bruin did this is in fair generality in Magma. I do not know how efficient it is.

http://magma.maths.usyd.edu.au/magma/handbook/text/1289#13826

```
IsLocallySolvable(X, p) : Sch, RngIntElt -> BoolElt, Pt
Smooth: BoolElt Default: false
AssumeIrreducible: BoolElt Default: false
AssumeNonsingular: BoolElt Default: false
```

Given a projective scheme X defined over a number field or over the rationals, test if the scheme is locally solvable at the prime ideal p (for number fields) or prime number p (for rationals) indicated. If the scheme is found to have a local point, then true is returned together with an approximation to a point. Otherwise, false is returned.

```
For a description of the algorithms used, see [Bru04].
```