Characterization for artinian Gorenstein rings

Let $(R,m)$ be an artinian local ring. Show that if $I \cap J \neq 0$ for all non-zero ideals $I$ and $J$, then $R$ is a Gorenstein ring.

Another formulation could be: show that if $(0)$ is an irreducible ideal, then $R$ is Gorenstein.

-

$\newcommand\m{\mathfrak{m}}$ By definition, a noetherian commutative local ring $(R,\m,k)$ is Gorenstein of dimension zero if and only if $\mathrm{Ext}^0_R(k,R) = \mathrm{Hom}_R(k,R)$ is $1$-dimensional. If $A$ is artinian, then an elementary exercise shows that $\mathrm{Hom}_R(k,R)$ is at least $1$-dimensional (hint: take the largest $n$ such that $\m^n \ne 0$, then map a generator of $k$ to any element of $\m^n$).
It follows that if $A$ is artinian but non-Gorenstein, then there exist two injections $k \rightarrow R$ with distinct images $I$ and $J$. (These are $R$-module maps, so $I$ and $J$ are $R$-submodules of $R$, i.e., ideals.) Yet $I \cap J = (0)$ by construction.
For a local artinian ring $R$ one can define the socle $R[\m]$ to consist of elements of $R$ which are annihilated by all elements of $\m$. As an $R$-module, $R[\m]$ is a vector space over $k$, and $$\mathrm{Hom}_R(k,R) = \mathrm{Hom}_R(k,R[\m])$$ has dimension $\mathrm{dim}_k(R[\m])$, which is $1$ if and only if $R$ is Gorenstein. Note that if $R$ is a local artinian Gorenstein ring, then any non-zero ideal $I$ intersects non-trivially with $R[\m]$ (consider $\m^n I$ for an appropriate $n$), and hence $I \cap J \ne (0)$ for all non-zero ideals of $R$.
The converse is (almost) also true, namely, that if $R$ is local artinian and Gorenstein, then any two non-zero ideals $I$ and $J$ intersect. The reason is that, as mentioned above, they must both have non-trivial intersection with the socle $R[\m]$. Yet if $R$ is Gorenstein, then $R[\m]$ is $1$-dimensional, and hence $I$ and $J$ both contain $R[\m]$.