A Newton-type algorithm and line search strategies for solving generalized discrete-time algebraic Riccati equations are dealt with. The conceptual algorithm is presented, and its main computational steps are discussed. Evaluation of residuals and closed-loop matrices at each iteration, determination of the step size, and the use of line search with backtracking, are addressed in detail. Algorithmic and implementation issues taken into account in the developed solver are described. An extensive performance investigation on a large collection of examples has been performed, and the results are summarized. Both usual line search and line search with backtracking, and either identity or diagonal performance index matrices are considered. Difficult examples are included. The results often show significantly improved accuracy, measured in terms of normalized and relative residuals, in comparison with the state-of-the-art MATLAB function. The new solver is strongly recommended for improving the solutions computed by other solvers.