# [Python 3.8 (pre-release)], 102 bytes

<!-- language-all: lang-python -->

    f=lambda x,s={1},i=1,p=1:sum(p//y for y in s)==x*p and s or f(x,s^{i},1+i*(i in s),[p*i,p//i][i in s])

[Try it online!][TIO-kyn0yih7]

Just goes trough all the combinations, basically like incrementing a binary number. `i` is the number to flip, `s` is the set of reciprocals, `p` is the product of the set.

[Python 3.8 (pre-release)]: https://docs.python.org/3.8/
[TIO-kyn0yih7]: https://tio.run/##JYxBCoMwEEX3PcUsk3RAgpsizEnEQopNO1DjkCgYxLOnaV3@x39P8vKeQ3uTWIqnj5seo4MNE@32QCaLQrZL66SkaTL4OUIGDpA00WYEXBghQaVeVem@84H2ykbxecJeDGNVeehPNOjyi/xHdOH1VBZb3V1AIodFMXrFWpcv "Python 3.8 (pre-release) – Try It Online"