I have a printer connected directly to a PC, which is connected to my router, to which another two PC's are connected - and spent the best part of a year trying to get the other two PC's to print to the printer with no success - so I gave up

Fitted a cuple of bluetooth dongles to the machines and now when something needs printing, I just bluetooth it from one machine, to the machine connected to the printer and then go to that machine and print