I'm not very familiar with C++, so I'll make only one suggestion: Try to never put logic into a header (`.h` or `.hpp`) file, use source (`.cpp`) files for that purpose. Try to leave header files only for declarations and macros. In fact, since `#include` is only text inclusion, you can include `.cpp` files too if you absolutely need to include logic and definitions. Although that's not common in small projects like this, in larger projects it's more common (thanks @Mast!). Also, one more point, try not use `using namespace std` in your code, it might cause namespace collision among other bad things (see this SO post: [Why is using namespace std considered bad practice](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice)). Try to use qualified names instead. One more thing I found: `EquationSystem.h` and `main.cpp` have output in Spanish, while the others are in English. Has code been integrated from somewhere? Try not to have inconsistencies like this in code, especially in the UI.