Solution (source code)

= Solution

The <theory of the random graph> has the extension property: for finite disjoint vertex sets $A,B$, there is a new vertex adjacent to every point of $A$ and to no point of $B$.

Let $M,N$ be countable models and let $f_0$ be a finite <partial embedding>. Enumerate $M=(m_i)_{i<\omega}$ and $N=(n_i)_{i<\omega}$. At an even stage, take the first $m_i$ outside the domain. Its adjacency pattern to the finite domain prescribes finite disjoint subsets of the range; the extension property in $N$ supplies a new image with exactly that pattern. At an odd stage, apply the same argument to the inverse map and the first unused $n_i$. This <back-and-forth method> produces an increasing sequence of finite partial embeddings whose union is an isomorphism. Hence \b[every finite partial embedding extends to an isomorphism $M\cong N$].