Solids expand on heating because
The potential energy curve is asymmetric about the equilibrium distance between neighbouring atoms
The expansion of solids can be well understood by potential energy curve for two adjacent atoms in a crystalline solid as a function of their internuclear separation (r).
At ordinary temperature : Each molecule of the solid vibrate about it' s equilibrium position P1 between A and B (r0 is the equilibrium distance of it from some other molecule)
At high temperature : Amplitude of vibration increase (C « D and E « F). Due to asymmetry of the curve, the equilibrium positions (P2 and P3) of molecule displaced. Hence it's distance from other molecule increases (r2 > r1 > r0).
Thus, on raising the temperature, the average equilibrium distance between the molecules increases and the solid as a whole expands.