I am an expert on the topic and answered a set of questions. I am wondering if it is OK to mention the solver that I develop given that it is commercial but has freemium plans. All my answers are about the question and I mention the solver because it is relevant. Please let me know what you think should be improved.
Welcome to the site! Expertise is always welcome here, and it's to be expected that many people with such expertise will also use it to develop commercial products.
However, it does violate a community norm to link and discuss your product unless there's a good reason to; it tends to come across as spammy. I see that you mentioned it in about half of your answers, and that you edited them to remove the link after you got complaints. Notably, 1) removing the link did not detract from the quality or message of the answers, and 2) no other edits were required to make the answer complete by your own estimation. This suggests that the links do not belong there.
From the help:
Avoid overt self-promotion.
The community tends to vote down overt self-promotion and flag it as spam. Post good, relevant answers, and if some (but not all) happen to be about your product or website, that’s okay. However, you must disclose your affiliation in your answers.
If a large percentage of your posts include a mention of your product or website, you're probably here for the wrong reasons. Our advertising rates are quite reasonable; contact our ad sales team for details. We also offer free community promotion ads for open source projects and non-profit organizations.
How to not be a spammer
Here are some specific behaviors to avoid - even with the best of intentions, these will nearly always result in your posts being flagged as spam:
Don't talk about your product / website / book / job too much. Folks will read your answers for their ability to solve a specific problem; if you're good at doing that, then they'll find themselves more interested in who you are and what you're working on. If you respond only to questions where the answer can be something you're selling, they'll assume you're just here to sell.
There are two issues here.
One pertains to self promotion; @mkt has done a good job with that. Let me add a small piece of complementary information. You mention that it is recommended to mention your association with a product, which seems to imply discussing your products is not frowned on. But there is a distinction between mentioning your association with a product (given that your product has come up as an intrinsic part of the discussion) and mentioning your product in the first place. If your product comes up, you must disclose your association, however, it is better to leave your product out if it isn't really necessary. Note that many users here have developed products related to the topics they provide answers for, but (with one notable exception) you can't tell from most of their answers. (On the other hand, you certainly may discuss it and link to it on your user page.)
The other issue is posting very similar answers to multiple threads. This is also generally frowned on. In particular, you should not post identical answers to multiple questions. If you really believe that a thread is answered by a post identical to an answer you wrote elsewhere, you should not repost that answer to the current thread. Instead, vote to close the current thread as a duplicate. Users (such as yourself) that have lower reputation will not be able to vote to close; however, you can flag to have the thread closed as a duplicate, and that's what you should do in that case.
On the other hand, what if answers aren't identical, but are very similar? That is, how similar is too similar? This is a judgment call, and the moderators generally lean towards having a lighter touch. (In this specific case, I only deleted one answer.) Nonetheless, it is better to see if there is something that can be added that is unique to that question that would provide additional value for that OP. Again, if there isn't, you should vote / flag for closure. The best option, as @Scortchi noted, is to develop a longer, more detailed, high-quality answer that is canonical for you. Then you could leave a comment on similar questions in the future ('This is a case of _____, it may help you to read my answer here: ____'). You won't be able to comment until your reputation is >50, but with a good answer that level should be achievable before too long. Likewise (or in the interim), you could provide a brief answer with information specific to the OP's situation, and link to your main post on the topic.
I appreciate that you have expertise specific to this topic, and I hope you will continue to contribute useful answers on that issue here.