[![lightssout](https://i.stack.imgur.com/roQdbm.png)](https://i.stack.imgur.com/roQdbm.png)

<https://js13kgames.com/games/lock-puzzle/index.html>

The link provides an online puzzle game of $16$ tiles in the form of a $4 \times 4$ matrix of which some entries are in the form of vertical tiles and other in the form of horizontal tiles arranged randomly by the system. Once you press a tile the tile along with all the tiles with same rows and columns get reversed i.e. vertical tiles becomes horizontal and vice versa. In order to solve it all we have to do is to make each of the $16$ tiles vertical.

I have solved it yesterday taking about half an hour. But I don't remember all the methods I used. My question is "Is there any algorithmic way of solving this puzzle which needs small amount of time"?