This article is from the Bicycles FAQ, by Mike Iglesias with numerous contributions by others.
From: Jobst Brandt <email@example.com>
For less than million dollar bikes this is easy to fix, whether it corrects
the cause or not. If a bike veers to one side when ridden no-hands, it
can be corrected by bending the forks to the same side as you must lean
to ride straight. This is done by bending the fork blades one at a time,
about 3 mm. If more correction is needed, repeat the exercise.
The problem is usually in the forks although it is possible for frame
misalignment to cause this effect. The kind of frame alignment error
that causes this is a head and seat tube not in the same plane. This
is not easily measured other than by sighting or on a plane table.
The trouble with forks is that they are more difficult to measure even
though shops will not admit it. It takes good fixturing to align a
fork because a short fork blade can escape detection by most
measurement methods. Meanwhile lateral and in-line corrections may
seem to produce a straight fork that still pulls to one side.
However, the crude guy who uses the method I outlined above will make
the bike ride straight without measurement. The only problem with
this is that the bike may pull to one side when braking because the
fork really isn't straight but is compensated for lateral balance.
This problem has mystified more bike shops because they did not recognize
the problem. Sequentially brazing or welding fork blades often causes
unequal length blades and bike shops usually don't question this dimension.
However, in your case I assume the bike once rode straight so something