Let $E$ be an elliptic curve over $\mathbb Q\_p$. It is possible that $E$ has bad reduction but then when you see $E$ as a curve over a finite extension $K$ of $\mathbb Q\_p$, it obtains good reduction. Let $v$ be the valuation defined on $K$ and $R$ its valuation ring. I was interested in checking $E$ has good reduction over $K$ by hand, using the Weierstrass equation. What that amounts to then is writing down the Weierstrass equation $y^2+a\_1xy + a\_3y = x^3 + a\_2x^2+a\_4x + a\_6$ with the $a\_i \in R$ and considering changes of coordinates $x=u^2x' + r$ and $y=u^3y' + u^2sx' + t$ for $u,r,s,t \in R$ in hopes of finding an equation with $v(\Delta')$ minimized, subject to each $a\_i'$ being in $R$. There are certain congruence conditions that guarantee minimality of the new equation, e.g. $v(\Delta') < 12$, which only depend on the choice of $u$. However, guaranteeing the new equation has coefficients in $R$ requires solving other congruence relations depending on $r,s$ and $t$, e.g. you need $v(a\_1+2s)\geq v(u)$ (because $a\_1' = u^{-1}(a\_1+2s)$). The few times I have done this by hand, I have just had to look at the equations and make some choices until something worked out.


My question is whether or not there exists a general method for obtaining a good change of coordinates $u,r,s,t$ and if not, then how do people go about writing down minimal Weierstrass models. I can't imagine there should be general methods for solving the system of non-linear congruences (higher powers of $u,r,s$ and $t$ appear in the other congruences) in the ring $R$, but if there is then I would also be interested in understanding that as well.



Writing down minimal Weierstrass equations
A slightly more theoretical answer: there is an algorithm of Tate, called (unremarkably)
Tate's algorithm, which allows one to compute the minimal model over any local field. I have a vague memory that it's not proved that this algorithm terminates in general, although it is expected to. (Perhaps someone else can say something definitive about this.) I would guess that this is what is implemented in Pari. 


