Analysing around 14000 unique user-agents (from here), I've come up with the following strings to look for:
- x86_64
- x86-64
- Win64
- x64; (Mind the semicolon! Without it you will have false-positives.)
- amd64
- AMD64
- WOW64
- x64_64
Additionally, although they have different instruction sets and are not compatible with Intel x86_64, you may want to detect the following:
- ia64
- sparc64
- ppc64
- IRIX64
Beware though, don't just look for anything containing "64" or even "x64". Chrome's build numbers, spiders/bots, libraries, .NET versions, resolutions, etc. may also contain the string "x64" while still being a 32-bits (or other) OS.
Note that you can search for all those strings case-insensitively.
I have not been able to find anything on ARM. Perhaps someone else? Please edit, it is a community wiki.